<snip> > > Sending number of packets equal to number of workers isn't enough to stop > all workers in burst version of distributor as more than one packet can be > matched and consumed by a single worker. This way some of workers might > not be awaken from rte_distributor_get_pkt(). > > This patch fixes it by sending packets one by one. Each sent packet causes > exactly one worker to quit. > > Fixes: 775003ad2f96 ("distributor: add new burst-capable library") > Cc: david.h...@intel.com > Cc: sta...@dpdk.org > > Signed-off-by: Lukasz Wojciechowski <l.wojciec...@partner.samsung.com> Looks good. Reviewed-by: Honnappa Nagarahalli <honnappa.nagaraha...@arm.com>
> --- > app/test/test_distributor.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/app/test/test_distributor.c b/app/test/test_distributor.c index > a4af0a39c..e0cb698e1 100644 > --- a/app/test/test_distributor.c > +++ b/app/test/test_distributor.c > @@ -769,9 +769,10 @@ quit_workers(struct worker_params *wp, struct > rte_mempool *p) > > zero_quit = 0; > 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_distributor_process(d, NULL, 0); > rte_distributor_flush(d); > -- > 2.17.1