[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAM_iQpVqcjDuGvecZL56fQRQWXJrH5tUfKCUw1yuz8LFBh8+xw@mail.gmail.com>
Date: Fri, 20 Sep 2019 09:53:30 -0700
From: Cong Wang <xiyou.wangcong@...il.com>
To: Vlad Buslov <vladbu@...lanox.com>
Cc: Linux Kernel Network Developers <netdev@...r.kernel.org>,
Jamal Hadi Salim <jhs@...atatu.com>,
Jiri Pirko <jiri@...nulli.us>,
David Miller <davem@...emloft.net>
Subject: Re: [PATCH net v2 1/3] net: sched: sch_htb: don't call qdisc_put()
while holding tree lock
On Thu, Sep 19, 2019 at 11:27 PM Vlad Buslov <vladbu@...lanox.com> wrote:
>
>
> On Fri 20 Sep 2019 at 04:05, Cong Wang <xiyou.wangcong@...il.com> wrote:
> > On Thu, Sep 19, 2019 at 1:14 PM Vlad Buslov <vladbu@...lanox.com> wrote:
> >> Notes:
> >> Changes V1 -> V2:
> >>
> >> - Extend sch API with new qdisc_put_empty() function that has same
> >> implementation as regular qdisc_put() but skips parts that reset qdisc
> >> and free all packet buffers from gso_skb and skb_bad_txq queues.
> >
> > I don't understand why you need a new API here, as long as qdisc_reset()
> > gets called before releasing sch tree lock, the ->reset() inside qdisc_put(),
> > after releasing sch tree lock, should be a nop, right?
>
> Yes, but I wanted to make it explicit, so anyone else looking at the
> code of those Qdiscs would know that manual reset with appropriate
> locking is required. And it didn't require much new code because
> qdisc_put() and qidsc_put_empty() just reuse same __qdisc_put(). I'll
> revert it back, if you suggest that original approach is better.
It is unnecessary for -net/-stable. And you can always add a comment
to explain this if it is not clear.
Thanks.
Powered by blists - more mailing lists