On Wed, Feb 13, 2019 at 11:47 PM Vlad Buslov <[email protected]> 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.