On Mon, 9 Nov 2015 14:17:01 +0900 Tetsuya Mukawa <mukawa at igel.co.jp> wrote:
> + rte_atomic32_set(&r->while_queuing, 1); > + > + if (unlikely(rte_atomic32_read(&r->allow_queuing) == 0)) > + goto out; You special 2 variable custom locking here is buggy. If you hit second atomic test, you will leave while_queuing set.