aboutsummaryrefslogtreecommitdiff
path: root/platform
AgeCommit message (Collapse)Author
2015-09-03linux-generic: schedule: fix race condition in ordered locksBill Fischofer
Correct race condition that arises due to attempt to permit ordered locks to be reusable. For now, ordered locks can only be used once per scheduled event. Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-and-Tested-by: Maxim Uvarov <maxim.uvarov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-03linux-generic: queue: correct handling of reorder completionBill Fischofer
Fix a race condition that could cause events to be stuck in an ordered queue's reorder queue. Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-and-Tested-by: Maxim Uvarov <maxim.uvarov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-03linux-generic: queue: prevent lookup of destroyed queuesBill Fischofer
odp_queue_lookup() should not be able to find queues in the transient state QUEUE_STATUS_DESTOYED Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-and-Tested-by: Maxim Uvarov <maxim.uvarov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-03linux-generic: queue: add destroy check for ordered queuesBill Fischofer
Ensure that the reorder queue associated with ordered queues is empty as part of odp_queue_destroy() processing Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-and-Tested-by: Maxim Uvarov <maxim.uvarov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-03linux-generic: schedule: streamline handling of event deq processingBill Fischofer
Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-and-Tested-by: Maxim Uvarov <maxim.uvarov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-03linux-generic: schedule: correct scheduling for ordered queuesBill Fischofer
Ordered queues must be rescheduled before caching context locally to avoid contaminating the scheduler poll queues with false ordering info. Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-and-Tested-by: Maxim Uvarov <maxim.uvarov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-03linux-generic: schedule: correct schedule group handlingBill Fischofer
Correct the range check on odp_schedule_group_destroy() and the associated handling of scheduler group names. Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-and-Tested-by: Maxim Uvarov <maxim.uvarov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-01linux-generic: queue: add missing release lock in release_order()Maxim Uvarov
schedule test can hang deadlock in due to missing spin unlock. Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org>
2015-09-01linux-generic: schedule: implement ordered locksBill Fischofer
Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-01linux-generic: schedule: implement odp_schedule_prefetch()Bill Fischofer
Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-01linux-generic: queue: implement ordered queuesBill Fischofer
Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-01linux-generic: schedule: implement scheduler groupsBill Fischofer
Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-09-01linux-generic: schedule: rename ordered lock typedefBill Fischofer
Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-27linux-generic: default state for pktio is STOPMaxim Uvarov
After open pktio remains stopped. Inside worker thread (after all configuration done it should be started.) In that patch I just start it everywhere to keep original logic and be easy for review. Putting it inside worker threads will require thread arguments change and understanding logic of current app. It's better to do further changes in separate patches per app. Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Stuart Haslam <stuart.haslam@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-27linux-generic: socket: implement pktio_start and pktio_stopMaxim Uvarov
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Stuart Haslam <stuart.haslam@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-27linux-generic: socket mmap: implement pktio_start and pktio_stopMaxim Uvarov
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Stuart Haslam <stuart.haslam@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-27linux-generic: loop: implement pktio_start and pktio_stopMaxim Uvarov
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Stuart Haslam <stuart.haslam@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-27linux-generic: schedule pktin_poll: account pktio stop stateMaxim Uvarov
If pktio in state stop return 0, which means no packets was received but that pktio is good to be sheduled next time. Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Stuart Haslam <stuart.haslam@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-27linux-generic: add pktio_start and pktio_stopMaxim Uvarov
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Stuart Haslam <stuart.haslam@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-27Merge branch 'master' into api-nextMaxim Uvarov
2015-08-25scripts/git_hash: change repo to CUSTOM_STRAnders Roxell
other platforms should export CUSTOM_STR in their platform/<target>/Makefile.am Signed-off-by: Anders Roxell <anders.roxell@linaro.org> Reviewed-and-tested-by: Mike Holmes <mike.holmes@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-25scripts/git_hash: fix build from tar sourceAnders Roxell
Signed-off-by: Anders Roxell <anders.roxell@linaro.org> Reviewed-and-tested-by: Mike Holmes <mike.holmes@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-24linux-generic: pktio: always test loop interfaceStuart Haslam
Test using the loop interface even when running as root. Fixes bug: https://bugs.linaro.org/show_bug.cgi?id=1735 Signed-off-by: Stuart Haslam <stuart.haslam@linaro.org> Reviewed-and-tested-by: Mike Holmes <mike.holmes@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-18Merge branch 'master' into api-nextMaxim Uvarov
2015-08-18linux-generic: pktio: handle segmented packet in socket modeNicolas Morey-Chaisemartin
Fixes bug: https://bugs.linaro.org/show_bug.cgi?id=1670 Signed-off-by: Nicolas Morey-Chaisemartin <nmorey@kalray.eu> Reviewed-and-Tested-by: Stuart Haslam <stuart.haslam@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-18linux-generic: pktio: remove basic socket implementationNicolas Morey-Chaisemartin
Signed-off-by: Nicolas Morey-Chaisemartin <nmorey@kalray.eu> Reviewed-and-Tested-by: Stuart Haslam <stuart.haslam@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-12Merge branch 'master' into api-nextMaxim Uvarov
2015-08-12linux-generic: pktio: store errno correctly in setupStuart Haslam
errno must be stored immediately after the failure to avoid it being overwritten by the ODP_ERR() call. Signed-off-by: Stuart Haslam <stuart.haslam@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-12linux-generic: move default cpumask functions to separate fileMaxim Uvarov
Keep functions which iterates with bit mask and more likely will not be accelerated by hw in odp_cpumask.c. And put functions for default cpu mask to odp_cpumask_task.c, which is more platform specific. That patch should simplify portability to other platforms when odp_cpumask.c will be inherit from linux generic. Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Mike Holmes <mike.holmes@linaro.org>
2015-08-11Merge branch 'master' into api-nextMaxim Uvarov
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Conflicts: example/timer/odp_timer_test.c
2015-08-11linux-generic: move openssl checks inside linux-genericMaxim Uvarov
openssl is not requirement for other platform. Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Nicolas Morey-Chaisemartin <morey@kalray.eu> Reviewed-by: Anders Roxell <anders.roxell@linaro.org>
2015-08-11linux-generic: move pthread checks inside linux-genericMaxim Uvarov
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Nicolas Morey-Chaisemartin <morey@kalray.eu> Reviewed-by: Anders Roxell <anders.roxell@linaro.org>
2015-08-11linux-generic: remove linux-generic makefile generation from common configure.acMaxim Uvarov
Platform is free to choose internal structure. No need to create Makefiles from common configure.ac. Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Nicolas Morey-Chaisemartin <morey@kalray.eu> Reviewed-by: Anders Roxell <anders.roxell@linaro.org>
2015-08-07linux-generic: Makefile.am: fix basename conflictsAnders Roxell
Building generated this warning message: "copying selected object files to avoid basename conflicts..." Reported-by: Mile Holmes <mike.holmes@linaro.org> Signed-off-by: Anders Roxell <anders.roxell@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-08-07linux-generic: Makefile: add all arch to the tarballAnders Roxell
Reported-by: Maxim Uvarov <maxim.uvarov@linaro.org> Signed-off-by: Anders Roxell <anders.roxell@linaro.org> Reviewed-by: Mike Holmes <mike.holmes@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-07-29Merge branch 'master' into api-nextMaxim Uvarov
2015-07-28linux-generic: fix logic for calling pktio init and term functionsMaxim Uvarov
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Stuart Haslam <stuart.haslam@linaro.org>
2015-07-28linux-generic: pktio: add global init and term function for pktiosNicolas Morey-Chaisemartin
Each pktio type can now provide an optional init and term function to set and clean itself up. Signed-off-by: Nicolas Morey-Chaisemartin <nmorey@kalray.eu> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-07-28api: queue: rename queue context get/set for consistencyStuart Haslam
Rename queue context APIs to make them consistent with the naming of other getter and setter APIs. Signed-off-by: Stuart Haslam <stuart.haslam@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-07-27Merge branch 'master' into api-nextMaxim Uvarov
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Conflicts: helper/test/odp_chksum.c include/odp/api/init.h platform/linux-generic/include/odp/plat/thrmask_types.h test/validation/cpumask/cpumask.h
2015-07-24linux-generic: pktio: remove _pkt suffix for open, close, recv and send ↵Nicolas Morey-Chaisemartin
pktio methods Unifies the format for all pktio_if_ops_t functions Signed-off-by: Nicolas Morey-Chaisemartin <nmorey@kalray.eu> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-07-23linux-generic: cpumask: zero mask before settingStuart Haslam
odp_cpumask_def_control() was neglecting to zero out the provided mask. Change-Id: I647632b0686d5bd059f7e81c630be7ebb3d081ab Signed-off-by: Stuart Haslam <stuart.haslam@linaro.org> Reviewed-by: Christophe Milard <christophe.milard@linaro.org>
2015-07-23linux-generic: thread: implemented thrmask_worker and controlPetri Savolainen
Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-07-23linux-generic: thread: implemented odp_thread_typePetri Savolainen
Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-07-23linux-generic: thread: updated thread mask handlingPetri Savolainen
Linux generic thread mask handling uses thrmask API. Added worker and control masks for easy implementation of functions returning those masks. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-and-tested-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-07-23api: cpumask: added default masksPetri Savolainen
Added default cpumask functions for worker and control threads. These will replace odph_linux_cpumask_default() helper. CPU masks and IDs are system specific, API is generic. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Christophe Milard <christophe.milard@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-07-23api: thrmask: added thread maskPetri Savolainen
Thread IDs and masks are used to control thread access to various resources. Linux generic implementation reuse cpumask implementation. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Conflicts: platform/linux-generic/Makefile.am
2015-07-23api: cpumask: added cpumask_setallPetri Savolainen
The call sets all possible CPUs in the mask. It's system specific which CPUs are actually available to the application. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Reviewed-by: Christophe Milard <christophe.milard@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2015-07-23api: init: added thread type to local initPetri Savolainen
User needs to select the thread type (worker or control) of the initialized thread. Implementation may reserve HW direct access only to worker threads, while control threads share HW access, etc. Signed-off-by: Petri Savolainen <petri.savolainen@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Conflicts: helper/linux.c
2015-07-23linux-generic: cpumask: zero mask before settingStuart Haslam
odp_cpumask_def_control() was neglecting to zero out the provided mask. Change-Id: I647632b0686d5bd059f7e81c630be7ebb3d081ab Signed-off-by: Stuart Haslam <stuart.haslam@linaro.org> Reviewed-by: Christophe Milard <christophe.milard@linaro.org>