This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "".
The branch, master has been updated via 3d2977c972cb3ba13c544d8ef9174852a1613b86 (commit) from 5472754c47ed084413da2bc332f2c27a1f5d262a (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit 3d2977c972cb3ba13c544d8ef9174852a1613b86 Author: Stanislaw Kardach skardach@marvell.com Date: Fri Dec 6 16:11:13 2019 +0100
validation: scheduler: fix plain+sched test
Whenever order locks are used, user should ensure that he follows the same sequence of ordered locks when processing events that have to be ordered. That includes a drain loop when scheduler is paused.
Signed-off-by: Stanislaw Kardach skardach@marvell.com Reviewed-by: Petri Savolainen petri.savolainen@nokia.com
diff --git a/test/validation/api/scheduler/scheduler.c b/test/validation/api/scheduler/scheduler.c index ca92a3cf8..90d30ff5b 100644 --- a/test/validation/api/scheduler/scheduler.c +++ b/test/validation/api/scheduler/scheduler.c @@ -1831,8 +1831,20 @@ static int sched_and_plain_thread(void *arg)
/* Make sure scheduling context is released */ odp_schedule_pause(); - while ((ev1 = odp_schedule(NULL, wait)) != ODP_EVENT_INVALID) + while ((ev1 = odp_schedule(NULL, wait)) != ODP_EVENT_INVALID) { + if (sync == ODP_SCHED_SYNC_ORDERED) + odp_schedule_order_lock(0); + + ev2 = odp_queue_deq(plain_queue); + CU_ASSERT_FATAL(ev2 != ODP_EVENT_INVALID); + + CU_ASSERT_FATAL(!odp_queue_enq(plain_queue, ev2)); + + if (sync == ODP_SCHED_SYNC_ORDERED) + odp_schedule_order_unlock(0); + CU_ASSERT_FATAL(!odp_queue_enq(sched_queue, ev1)); + }
/* Don't resume scheduling until all threads have finished */ odp_barrier_wait(&globals->barrier);
-----------------------------------------------------------------------
Summary of changes: test/validation/api/scheduler/scheduler.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-)
hooks/post-receive