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

Reply via email to