netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC] NETDEV_UNREGISTER_BATCH seems unused nowaday ?
@ 2012-08-10  9:27 Eric Dumazet
  2012-08-10 10:42 ` David Miller
  0 siblings, 1 reply; 14+ messages in thread
From: Eric Dumazet @ 2012-08-10  9:27 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, Eric W. Biederman

NETDEV_UNREGISTER_BATCH seems unused we can probably remove it.

I am tracking a device refcount issue, delaying net device dismantle by
1 second in netdev_wait_allrefs()

I guess we need to add a notifier called _after_ the final
synchronize_net() in rollback_registered_many()

[   52.022261] calling rtnetlink_dev_notifier msg/val 9 data ffff880610bea000 refcnt 15->15
[   52.022266] calling fib_rules_notifier msg/val 9 data ffff880610bea000 refcnt 15->15
[   52.022270] calling arp_netdev_notifier msg/val 9 data ffff880610bea000 refcnt 15->15
[   52.022274] calling ip_netdev_notifier msg/val 9 data ffff880610bea000 refcnt 15->15
[   52.022277] calling fib_netdev_notifier msg/val 9 data ffff880610bea000 refcnt 15->15
[   52.022280] calling ip_mr_notifier msg/val 9 data ffff880610bea000 refcnt 15->15
[   52.022284] calling ndisc_netdev_notifier msg/val 9 data ffff880610bea000 refcnt 15->15
[   52.022287] calling ip6_route_dev_notifier msg/val 9 data ffff880610bea000 refcnt 15->15
[   52.022290] calling ipv6_dev_notf msg/val 9 data ffff880610bea000 refcnt 15->15
[   52.022293] calling packet_netdev_notifier msg/val 9 data ffff880610bea000 refcnt 15->15
[   52.022297] calling dst_dev_notifier msg/val 9 data ffff880610bea000 refcnt 15->15
[   52.022331] calling rtnetlink_dev_notifier msg/val 2 data ffff880610bea000 refcnt 15->15
[   52.022335] calling fib_rules_notifier msg/val 2 data ffff880610bea000 refcnt 15->15
[   52.022340] calling arp_netdev_notifier msg/val 2 data ffff880610bea000 refcnt 15->15
[   52.022350] calling ip_netdev_notifier msg/val 2 data ffff880610bea000 refcnt 15->15
[   52.022374] arp: arp_ifdown dev ffff880610bea000 refcnt 15
[   52.022382] calling fib_netdev_notifier msg/val 2 data ffff880610bea000 refcnt 15->14
[   52.022931] IPv4: rt_free(ffff8802fee7e180)
[   52.023394] calling ip_mr_notifier msg/val 2 data ffff880610bea000 refcnt 14->14
[   52.023402] IPv6: dst_free(ffff88060b680480) refcnt 0
[   52.023404] IPv6: dst_free(ffff880307f7cf00) refcnt 0
[   52.023407] IPv6: dst_free(ffff880307f7cd80) refcnt 0
[   52.023409] IPv6: dst_free(ffff880307f7cc00) refcnt 0
[   52.023410] IPv6: dst_free(ffff88060b680180) refcnt 0
[   52.023412] IPv6: dst_free(ffff88060810c780) refcnt 0
[   52.023414] IPv6: dst_free(ffff88060810c600) refcnt 0
[   52.023415] IPv6: dst_free(ffff88060810c480) refcnt 0
[   52.023421] calling ndisc_netdev_notifier msg/val 2 data ffff880610bea000 refcnt 14->14
[   52.023424] calling ip6_route_dev_notifier msg/val 2 data ffff880610bea000 refcnt 14->14
[   52.023432] calling ipv6_dev_notf msg/val 2 data ffff880610bea000 refcnt 14->14
[   52.023436] calling packet_netdev_notifier msg/val 2 data ffff880610bea000 refcnt 14->14
[   52.023522] dst_ifdown dst ffff8802fee7e000 dev ffff880610bea000 dst->dev ffff880311b33000 unreg 0 dev->refcnt 14
[   52.023525] calling dst_dev_notifier msg/val 2 data ffff880610bea000 refcnt 14->14
[   52.024267] calling rtnetlink_dev_notifier msg/val 6 data ffff880610bea000 refcnt 13->13
[   52.024272] calling fib_rules_notifier msg/val 6 data ffff880610bea000 refcnt 13->13
[   52.024277] calling arp_netdev_notifier msg/val 6 data ffff880610bea000 refcnt 13->13
[   52.024279] inetdev_destroy()
[   52.024315] arp: arp_ifdown dev ffff880610bea000 refcnt 13
[   52.024421] arp: arp_ifdown dev ffff880610bea000 refcnt 12
[   52.024425] calling ip_netdev_notifier msg/val 6 data ffff880610bea000 refcnt 13->12
[   52.024430] arp: arp_ifdown dev ffff880610bea000 refcnt 12
[   52.024434] calling fib_netdev_notifier msg/val 6 data ffff880610bea000 refcnt 12->12
[   52.024437] calling ip_mr_notifier msg/val 6 data ffff880610bea000 refcnt 12->12
[   52.024440] calling ndisc_netdev_notifier msg/val 6 data ffff880610bea000 refcnt 12->12
[   52.024443] calling ip6_route_dev_notifier msg/val 6 data ffff880610bea000 refcnt 12->12
[   52.024458] calling ipv6_dev_notf msg/val 6 data ffff880610bea000 refcnt 12->10
[   52.024462] calling packet_netdev_notifier msg/val 6 data ffff880610bea000 refcnt 10->9
[   52.024465] dst_ifdown dst ffff8802fee7e000 dev ffff880610bea000 dst->dev ffff880311b33000 unreg 1 dev->refcnt 9
[   52.024468] calling dst_dev_notifier msg/val 6 data ffff880610bea000 refcnt 9->9
[   52.024564] calling rtnetlink_dev_notifier msg/val 17 data ffff880610bea000 refcnt 7->7
[   52.024569] calling fib_rules_notifier msg/val 17 data ffff880610bea000 refcnt 7->7
[   52.024574] calling arp_netdev_notifier msg/val 17 data ffff880610bea000 refcnt 7->7
[   52.024579] calling ip_netdev_notifier msg/val 17 data ffff880610bea000 refcnt 7->7
[   52.024583] calling fib_netdev_notifier msg/val 17 data ffff880610bea000 refcnt 7->7
[   52.024586] calling ip_mr_notifier msg/val 17 data ffff880610bea000 refcnt 7->7
[   52.024589] calling ndisc_netdev_notifier msg/val 17 data ffff880610bea000 refcnt 7->7
[   52.024592] calling ip6_route_dev_notifier msg/val 17 data ffff880610bea000 refcnt 7->7
[   52.024595] calling ipv6_dev_notf msg/val 17 data ffff880610bea000 refcnt 7->7
[   52.024598] calling packet_netdev_notifier msg/val 17 data ffff880610bea000 refcnt 7->7
[   52.024601] calling dst_dev_notifier msg/val 17 data ffff880610bea000 refcnt 7->7
[   52.028214] IPv4: dst_free(ffff8802fee7e180) refcnt 0
[   52.033207] dst_free(ffff88060816e0c0) refcnt 1
[   52.033212] adding dst ffff88060816e0c0 to garbage
[   52.033214] ------------[ cut here ]------------
[   52.033221] WARNING: at net/core/dst.c:215 __dst_free+0x57/0xf0()
[   52.033224] Hardware name: HP Z600 Workstation
[   52.033225] Modules linked in: tun ip6table_filter ip6_tables ebtable_nat ebtables xt_state ipt_REJECT fuse iptable_mangle iptable_filter ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4 bridge stp nfsd auth_rpcgss exportfs nfs lockd sunrpc asix usbnet rt61pci crc_itu_t rt2x00pci rt2x00lib eeprom_93cx6 tg3 ixgbe mdio igb
[   52.033254] Pid: 0, comm: swapper/6 Tainted: G        W    3.5.0+ #764
[   52.033255] Call Trace:
[   52.033257]  <IRQ>  [<ffffffff8103de0f>] warn_slowpath_common+0x7f/0xc0
[   52.033266]  [<ffffffff8103de6a>] warn_slowpath_null+0x1a/0x20
[   52.033270]  [<ffffffff8155d247>] __dst_free+0x57/0xf0
[   52.033277]  [<ffffffff815c96ba>] free_fib_info_rcu+0x18a/0x220
[   52.033282]  [<ffffffff810c4897>] rcu_process_callbacks+0x1f7/0x580
[   52.033287]  [<ffffffff81066869>] ? enqueue_hrtimer+0x39/0xe0
[   52.033292]  [<ffffffff81046d60>] __do_softirq+0xc0/0x260
[   52.033296]  [<ffffffff81067939>] ? hrtimer_interrupt+0x169/0x260
[   52.033301]  [<ffffffff816d006c>] call_softirq+0x1c/0x30
[   52.033306]  [<ffffffff81004225>] do_softirq+0x55/0x90
[   52.033309]  [<ffffffff8104720e>] irq_exit+0x9e/0xc0
[   52.033313]  [<ffffffff816d07ee>] smp_apic_timer_interrupt+0x6e/0x99
[   52.033316]  [<ffffffff816cf987>] apic_timer_interrupt+0x67/0x70
[   52.033318]  <EOI>  [<ffffffff81300230>] ? intel_idle+0xf0/0x150
[   52.033326]  [<ffffffff8130020f>] ? intel_idle+0xcf/0x150
[   52.033331]  [<ffffffff814ac779>] cpuidle_enter+0x19/0x20
[   52.033335]  [<ffffffff814ace0c>] cpuidle_idle_call+0xac/0x310
[   52.033340]  [<ffffffff8100b6f5>] cpu_idle+0x85/0xd0
[   52.033345]  [<ffffffff816b65de>] start_secondary+0x21b/0x21d
[   52.033347] ---[ end trace 555e476df6e4a6f3 ]---
[   52.033357] dst_free(ffff88060816e000) refcnt 1
[   52.033359] adding dst ffff88060816e000 to garbage
[   52.033360] ------------[ cut here ]------------
[   52.033363] WARNING: at net/core/dst.c:215 __dst_free+0x57/0xf0()
[   52.033365] Hardware name: HP Z600 Workstation
[   52.033366] Modules linked in: tun ip6table_filter ip6_tables ebtable_nat ebtables xt_state ipt_REJECT fuse iptable_mangle iptable_filter ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4 bridge stp nfsd auth_rpcgss exportfs nfs lockd sunrpc asix usbnet rt61pci crc_itu_t rt2x00pci rt2x00lib eeprom_93cx6 tg3 ixgbe mdio igb
[   52.033390] Pid: 0, comm: swapper/6 Tainted: G        W    3.5.0+ #764
[   52.033392] Call Trace:
[   52.033393]  <IRQ>  [<ffffffff8103de0f>] warn_slowpath_common+0x7f/0xc0
[   52.033399]  [<ffffffff8103de6a>] warn_slowpath_null+0x1a/0x20
[   52.033402]  [<ffffffff8155d247>] __dst_free+0x57/0xf0
[   52.033406]  [<ffffffff815c9740>] free_fib_info_rcu+0x210/0x220
[   52.033410]  [<ffffffff810c4897>] rcu_process_callbacks+0x1f7/0x580
[   52.033414]  [<ffffffff81066869>] ? enqueue_hrtimer+0x39/0xe0
[   52.033418]  [<ffffffff81046d60>] __do_softirq+0xc0/0x260
[   52.033421]  [<ffffffff81067939>] ? hrtimer_interrupt+0x169/0x260
[   52.033425]  [<ffffffff816d006c>] call_softirq+0x1c/0x30
[   52.033429]  [<ffffffff81004225>] do_softirq+0x55/0x90
[   52.033432]  [<ffffffff8104720e>] irq_exit+0x9e/0xc0
[   52.033436]  [<ffffffff816d07ee>] smp_apic_timer_interrupt+0x6e/0x99
[   52.033439]  [<ffffffff816cf987>] apic_timer_interrupt+0x67/0x70
[   52.033440]  <EOI>  [<ffffffff81300230>] ? intel_idle+0xf0/0x150
[   52.033447]  [<ffffffff8130020f>] ? intel_idle+0xcf/0x150
[   52.033451]  [<ffffffff814ac779>] cpuidle_enter+0x19/0x20
[   52.033455]  [<ffffffff814ace0c>] cpuidle_idle_call+0xac/0x310
[   52.033458]  [<ffffffff8100b6f5>] cpu_idle+0x85/0xd0
[   52.033462]  [<ffffffff816b65de>] start_secondary+0x21b/0x21d
[   52.033464] ---[ end trace 555e476df6e4a6f4 ]---
[   52.132982] dst_gc_task()
[   52.132986] delayed 3 performed 0
[   52.633325] IPv4: rt_free(ffff8802fee7e3c0)
[   52.633827] IPv4: rt_free(ffff8802fee7e240)
[   52.641632] IPv4: dst_free(ffff8802fee7e3c0) refcnt 0
[   52.641634] IPv4: dst_free(ffff8802fee7e240) refcnt 0
[   52.732498] dst_gc_task()
[   52.732502] delayed 3 performed 0
[   53.039739] calling rtnetlink_dev_notifier msg/val 6 data ffff880610bea000 refcnt 1->1
[   53.039744] calling fib_rules_notifier msg/val 6 data ffff880610bea000 refcnt 1->1
[   53.039748] calling arp_netdev_notifier msg/val 6 data ffff880610bea000 refcnt 1->1
[   53.039751] calling ip_netdev_notifier msg/val 6 data ffff880610bea000 refcnt 1->1
[   53.039758] arp: arp_ifdown dev ffff880610bea000 refcnt 1
[   53.039762] calling fib_netdev_notifier msg/val 6 data ffff880610bea000 refcnt 1->1
[   53.039766] calling ip_mr_notifier msg/val 6 data ffff880610bea000 refcnt 1->1
[   53.039769] calling ndisc_netdev_notifier msg/val 6 data ffff880610bea000 refcnt 1->1
[   53.039772] calling ip6_route_dev_notifier msg/val 6 data ffff880610bea000 refcnt 1->1
[   53.039778] calling ipv6_dev_notf msg/val 6 data ffff880610bea000 refcnt 1->1
[   53.039781] calling packet_netdev_notifier msg/val 6 data ffff880610bea000 refcnt 1->1
[   53.039785] dst_ifdown dst ffff8802fee7e000 dev ffff880610bea000 dst->dev ffff880311b33000 unreg 1 dev->refcnt 1
[   53.039788] dst_ifdown dst ffff88060816e000 dev ffff880610bea000 dst->dev ffff880311b33000 unreg 1 dev->refcnt 1
[   53.039791] dst_ifdown dst ffff88060816e0c0 dev ffff880610bea000 dst->dev ffff880610bea000 unreg 1 dev->refcnt 1
[   53.039794] calling dst_dev_notifier msg/val 6 data ffff880610bea000 refcnt 1->0

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2012-08-23  2:58 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-10  9:27 [RFC] NETDEV_UNREGISTER_BATCH seems unused nowaday ? Eric Dumazet
2012-08-10 10:42 ` David Miller
2012-08-10 11:06   ` Eric Dumazet
2012-08-10 14:45     ` Eric W. Biederman
2012-08-10 15:01       ` Eric Dumazet
2012-08-10 17:55       ` Paul E. McKenney
2012-08-10 14:46     ` [PATCH] net: remove delay at device dismantle Eric Dumazet
2012-08-10 15:42       ` [PATCH net-next v2] " Eric Dumazet
2012-08-11  5:54         ` Eric Dumazet
2012-08-11  5:57           ` David Miller
2012-08-23  2:18           ` David Miller
2012-08-23  2:25           ` Gao feng
2012-08-23  2:51             ` David Miller
2012-08-23  2:58               ` Eric Dumazet

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).