[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAM_iQpXD4dC1jEQOAOV0f=BoF5YGHe-fYxudaN_d_a4AgrWeRQ@mail.gmail.com>
Date: Tue, 14 Jun 2016 19:13:31 -0700
From: Cong Wang <xiyou.wangcong@...il.com>
To: Eric Dumazet <edumazet@...gle.com>
Cc: "David S . Miller" <davem@...emloft.net>,
netdev <netdev@...r.kernel.org>,
Jamal Hadi Salim <jhs@...atatu.com>,
Eric Dumazet <eric.dumazet@...il.com>
Subject: Re: [PATCH net-next 00/10] net_sched: defer skb freeing while
changing qdiscs
On Mon, Jun 13, 2016 at 8:21 PM, Eric Dumazet <edumazet@...gle.com> wrote:
> qdiscs/classes are changed under RTNL protection and often
> while blocking BH and root qdisc spinlock.
>
> When lots of skbs need to be dropped, we free
> them under these locks causing TX/RX freezes,
> and more generally latency spikes.
>
> I saw spikes of 50+ ms on quite fast hardware...
>
> This patch series adds a simple queue protected by RTNL
> where skbs can be placed until RTNL is released.
>
> Note that this might also serve in the future for optional
> reinjection of packets when a qdisc is replaced.
No objection from me. It looks like a good optimization
before we can improve the qdisc root spinlock.
Just one nit: You probably want to keep rtnl_kfree_skbs()
within qdisc layer unless you have any plan to use it
in other places.
Thanks!
Powered by blists - more mailing lists