Because a single worker can process more than one packet from the distributor, the final set of notifications in burst mode should be sent one-by-one to ensure that each worker has a chance to wake up.
This fix mirrors the change done in the functional test by commit f72bff0ec272 ("test/distributor: fix quitting workers in burst mode"). Fixes: c3eabff124e6 ("distributor: add unit tests") Cc: bruce.richard...@intel.com Signed-off-by: Stanislaw Kardach <k...@semihalf.com> Acked-by: David Hunt <david.h...@intel.com> Tested-by: Lukasz Wojciechowski <l.wojciec...@partner.samsung.com> Reviewed-by: Lukasz Wojciechowski <l.wojciec...@partner.samsung.com> --- app/test/test_distributor_perf.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/test/test_distributor_perf.c b/app/test/test_distributor_perf.c index b25f79a34..371a14ba4 100644 --- a/app/test/test_distributor_perf.c +++ b/app/test/test_distributor_perf.c @@ -188,9 +188,10 @@ quit_workers(struct rte_distributor *d, struct rte_mempool *p) rte_mempool_get_bulk(p, (void *)bufs, num_workers); quit = 1; - for (i = 0; i < num_workers; i++) + for (i = 0; i < num_workers; i++) { bufs[i]->hash.usr = i << 1; - rte_distributor_process(d, bufs, num_workers); + rte_distributor_process(d, &bufs[i], 1); + } rte_mempool_put_bulk(p, (void *)bufs, num_workers); -- 2.27.0