[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAM_iQpUkFG8C_sdQMDy_=zgMG-cAXeY8VyWescoGRO0PP9QzwQ@mail.gmail.com>
Date: Mon, 18 Feb 2019 11:27:15 -0800
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-next 12/12] net: sched: flower: set unlocked flag for
flower proto ops
On Wed, Feb 13, 2019 at 11:47 PM Vlad Buslov <vladbu@...lanox.com> wrote:
>
> Set TCF_PROTO_OPS_DOIT_UNLOCKED for flower classifier to indicate that its
> ops callbacks don't require caller to hold rtnl lock.
So, if this means RTNL is gone for all cls_flower changes, why
do I still see rtnl_lock() in cls_flower.c after all your patches in this set?
For instance:
366 static void fl_destroy_filter_work(struct work_struct *work)
367 {
368 struct cls_fl_filter *f = container_of(to_rcu_work(work),
369 struct cls_fl_filter, rwork);
370
371 rtnl_lock();
372 __fl_destroy_filter(f);
373 rtnl_unlock();
374 }
and...
382 if (!rtnl_held)
383 rtnl_lock();
...
1436 if (!rtnl_held)
1437 rtnl_lock();
Please explain in your changelog, otherwise it is very confusing.
Thanks.
Powered by blists - more mailing lists