[dpdk-dev] [PATCH v4 16/17] ring: add sched_yield to avoid spin forever

2015-02-10 Thread Olivier MATZ
Hi Konstantin, On 02/09/2015 04:43 PM, Ananyev, Konstantin wrote: >> The ring library was designed with the assumption that the code is not >> preemptable. The code is lock-less but not wait-less. Actually, if the >> code is preempted at a bad moment, it can spin forever until it's >> unscheduled.

[dpdk-dev] [PATCH v4 16/17] ring: add sched_yield to avoid spin forever

2015-02-09 Thread Ananyev, Konstantin
Hi Olivier, > -Original Message- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Olivier MATZ > Sent: Friday, February 06, 2015 3:20 PM > To: Liang, Cunming; dev at dpdk.org > Subject: Re: [dpdk-dev] [PATCH v4 16/17] ring: add sched_yield to avoid spin &g

[dpdk-dev] [PATCH v4 16/17] ring: add sched_yield to avoid spin forever

2015-02-06 Thread Olivier MATZ
Hi, On 02/02/2015 03:02 AM, Cunming Liang wrote: > Add a sched_yield() syscall if the thread spins for too long, waiting other > thread to finish its operations on the ring. > That gives pre-empted thread a chance to proceed and finish with ring > enqnue/dequeue operation. > The purpose is to re

[dpdk-dev] [PATCH v4 16/17] ring: add sched_yield to avoid spin forever

2015-02-02 Thread Cunming Liang
Add a sched_yield() syscall if the thread spins for too long, waiting other thread to finish its operations on the ring. That gives pre-empted thread a chance to proceed and finish with ring enqnue/dequeue operation. The purpose is to reduce contention on the ring. Signed-off-by: Cunming Liang