mib: add net to NET_ADD_STATS_BH
This one is tricky. The thing is that this macro is only used when killing tw buckets, but since this killer is promiscuous wrt to which net each particular tw belongs to, I have to use it only when NET_NS is off. When the net namespaces are on, I use the INET_INC_STATS_BH for each bucket. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
6f67c817fc
commit
f2bf415cfe
@ -160,6 +160,9 @@ rescan:
|
||||
__inet_twsk_del_dead_node(tw);
|
||||
spin_unlock(&twdr->death_lock);
|
||||
__inet_twsk_kill(tw, twdr->hashinfo);
|
||||
#ifdef CONFIG_NET_NS
|
||||
NET_INC_STATS_BH(twsk_net(tw), LINUX_MIB_TIMEWAITED);
|
||||
#endif
|
||||
inet_twsk_put(tw);
|
||||
killed++;
|
||||
spin_lock(&twdr->death_lock);
|
||||
@ -178,8 +181,9 @@ rescan:
|
||||
}
|
||||
|
||||
twdr->tw_count -= killed;
|
||||
NET_ADD_STATS_BH(LINUX_MIB_TIMEWAITED, killed);
|
||||
|
||||
#ifndef CONFIG_NET_NS
|
||||
NET_ADD_STATS_BH(&init_net, LINUX_MIB_TIMEWAITED, killed);
|
||||
#endif
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -372,6 +376,9 @@ void inet_twdr_twcal_tick(unsigned long data)
|
||||
&twdr->twcal_row[slot]) {
|
||||
__inet_twsk_del_dead_node(tw);
|
||||
__inet_twsk_kill(tw, twdr->hashinfo);
|
||||
#ifdef CONFIG_NET_NS
|
||||
NET_INC_STATS_BH(twsk_net(tw), LINUX_MIB_TIMEWAITKILLED);
|
||||
#endif
|
||||
inet_twsk_put(tw);
|
||||
killed++;
|
||||
}
|
||||
@ -395,7 +402,9 @@ void inet_twdr_twcal_tick(unsigned long data)
|
||||
out:
|
||||
if ((twdr->tw_count -= killed) == 0)
|
||||
del_timer(&twdr->tw_timer);
|
||||
NET_ADD_STATS_BH(LINUX_MIB_TIMEWAITKILLED, killed);
|
||||
#ifndef CONFIG_NET_NS
|
||||
NET_ADD_STATS_BH(&init_net, LINUX_MIB_TIMEWAITKILLED, killed);
|
||||
#endif
|
||||
spin_unlock(&twdr->death_lock);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user