This series aims to expose a bug in the scheduler implemenetation for linux-generic.
The first two patches contain the required odp_queue_sched_prio implementation. These are the same as the two patches sent to the mailing list, but they haven't been applied yet so I added them in this series too. The third patch contains a small example showing the bug in the scheduler implementation. There are two 'rounds' of scheduling, independent of eachother, first round being a common schedule test, with 4 queues per priority, two priorities (8 queues) which are filled with the same amout of buffers. The second round fills the prio 1 queues the same way, but the prio 0 queues are filled differently to expose the problem in the implementation. To get a better idea of what goes wrong one needs to look at the schedule() function of the linux-generic implementation (odp_schedule.c). The last patch is a proposed fix. Ciprian Barbu (4): api: queue: add odp_queue_sched_prio and odp_queue_sched_group platform: implement odp_queue_sched_prio and odp_queue_sched_group example showing scheduler bug schedule: fix priority scheduling bug configure.ac | 1 + example/Makefile.am | 2 +- example/sched_bug/Makefile.am | 7 + example/sched_bug/sched_bug.c | 189 +++++++++++++++++++++++++ platform/linux-generic/include/api/odp_queue.h | 18 +++ platform/linux-generic/odp_queue.c | 24 ++++ platform/linux-generic/odp_schedule.c | 5 +- 7 files changed, 244 insertions(+), 2 deletions(-) create mode 100644 example/sched_bug/Makefile.am create mode 100644 example/sched_bug/sched_bug.c -- 1.8.3.2 _______________________________________________ lng-odp mailing list [email protected] http://lists.linaro.org/mailman/listinfo/lng-odp
