[dpdk-dev] [PATCH v2] ring: check for zero objects mc dequeue / mp enqueue
Thomas Monjalon
thomas.monjalon at 6wind.com
Tue Mar 22 17:49:08 CET 2016
> > Issuing a zero objects dequeue with a single consumer has no effect.
> > Doing so with multiple consumers, can get more than one thread to succeed
> > the compare-and-set operation and observe starvation or even deadlock in
> > the while loop that checks for preceding dequeues. The problematic piece
> > of code when n = 0:
> >
> > cons_next = cons_head + n;
> > success = rte_atomic32_cmpset(&r->cons.head, cons_head, cons_next);
> >
> > The same is possible on the enqueue path.
> >
> > Signed-off-by: Lazaros Koromilas <l at nofutznetworks.com>
>
> Acked-by: Olivier Matz <olivier.matz at 6wind.com>
Applied, thanks
More information about the dev
mailing list