em_meta: avoid one dev_put()
Subsystems (3)
PATCH 1/1 em_meta: avoid one dev_put()
Another rcu conversion to avoid one dev_hold()/dev_put() pair
Signed-off-by Eric Dumazet <[email protected]>
--- net/sched/em_meta.c | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-)
net/sched/em_meta.c +6 -6
@@ -303,17 +303,17 @@ META_COLLECTOR(var_sk_bound_if) {SKIP_NONLOCAL (skb); -if (skb->sk->sk_bound_dev_if ==0 ) { +if (skb->sk->sk_bound_dev_if ==0 ) { dst->value = (unsigned long )"any" ; dst->len =3 ; - }else { + }else {struct net_device *dev; - dev =dev_get_by_index (&init_net, skb->sk->sk_bound_dev_if); +rcu_read_lock (); + dev =dev_get_by_index_rcu (&init_net, skb->sk->sk_bound_dev_if); *err =var_dev (dev, dst); -if (dev) -dev_put (dev); - } +rcu_read_unlock (); + } }META_COLLECTOR (int_sk_refcnt)
From: Eric Dumazet <[email protected]>
Date: Tue, 03 Nov 2009 22:38:49 +0100
Quoted 3 lines
Another rcu conversion to avoid one dev_hold()/dev_put() pair
Signed-off-by Eric Dumazet <[email protected]>
Applied, thanks Eric.