[dpdk-dev] Preemption in rings

Carlos Franco kralosf at gmail.com
Sat Jan 18 14:10:14 CET 2014


Hello

I have read the documentation and the answer of Olivier about a question to clarify the preemption restriction in the rings.

He wrote:

- a pthread doing multi-producers enqueues on a given ring must not  be preempted by another pthread doing a multi-producer enqueue on the same ring.

- a pthread doing multi-consumers dequeues on a given ring must not be preempted by another pthread doing a multi-consumer dequeue on  the same ring.

I suppose this is a something to be taken into account with threads not created by the DPDK rte, because the threads of DPDK are attached to a core and will never be scheduled into the cores of other DPDK threads, no?

I mean, lets only take into account the enqueuing. if there is a ring R where ONLY the DPDK threads enqueue packets, even if they are interrupted (IO access, sleep, mutex... ), and other non DPDK threads are scheduled into their cores, as long as only DPDK threads enqueue in the ring it is safe, no?

If not, would prohibit the access to the DPDK used cores (isocpus) work?

Thanks

Carlos


More information about the dev mailing list