On Thu, Sep 19, 2019 at 11:27 PM Vlad Buslov <vla...@mellanox.com> wrote: > > > On Fri 20 Sep 2019 at 04:05, Cong Wang <xiyou.wangc...@gmail.com> wrote: > > On Thu, Sep 19, 2019 at 1:14 PM Vlad Buslov <vla...@mellanox.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.