[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1464100646.5939.50.camel@edumazet-glaptop3.roam.corp.google.com>
Date: Tue, 24 May 2016 07:37:26 -0700
From: Eric Dumazet <eric.dumazet@...il.com>
To: David Laight <David.Laight@...LAB.COM>
Cc: 'Jesper Dangaard Brouer' <brouer@...hat.com>,
Alexander Duyck <alexander.duyck@...il.com>,
netdev <netdev@...r.kernel.org>,
Alexander Duyck <aduyck@...antis.com>,
John Fastabend <john.r.fastabend@...el.com>,
Jamal Hadi Salim <jhs@...atatu.com>
Subject: Re: [RFC] net: remove busylock
On Tue, 2016-05-24 at 13:50 +0000, David Laight wrote:
> From: Jesper Dangaard Brouer
> > Sent: 20 May 2016 18:50
> ...
> > If would be cool if you could run a test with removed busylock and
> > allow HTB to bulk dequeue.
>
> (Without having looked ....)
> Could you have two queues and separate queue and dequeue locks.
>
> The enqueue code would acquire the enqueue lock and add the packet
> to the first queue.
>
> The dequeue code would acquire the dequeue lock and try to remove
> a packet from the 2nd queue, if nothing present it would acquire
> the enqueue lock and move the entire 1st queue to the 2nd queue.
>
> The obvious downside is two lock/unlocks for single packet dequeue.
> If you can guarantee a single dequeue thread the 2nd lock isn't needed.
>
Not with HTB or any 'complex' qdisc hierarchy, where we have many
'queues' and strict limits (packets per qdisc)
Powered by blists - more mailing lists