test/distributor: fix quitting workers in burst mode
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: 775003ad2f
("distributor: add new burst-capable library")
Cc: stable@dpdk.org
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
This commit is contained in:
parent
e1f1400cf6
commit
f72bff0ec2
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user