[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <k6o45d$sah$1@ger.gmane.org>
Date: Tue, 30 Oct 2012 08:46:38 +0000 (UTC)
From: Cong Wang <xiyou.wangcong@...il.com>
To: netdev@...r.kernel.org
Subject: Re: WARNING: at net/core/skbuff.c:573
On Tue, 30 Oct 2012 at 07:47 GMT, Haggai Eran <haggaie@...lanox.com> wrote:
> Hi,
>
> Running kernel v3.7-rc2 I'm getting these warnings at
> skb_release_head_state. It is called from netconsole, due to printk
> from mlx4_core's interrupt handler. The warning is due to the function
> being run in interrupt context. However, according to the documentation,
> netconsole is supposed to be fine running from within interrupts.
>
> I'm not sure I can reproduce it reliably though.
This comes from:
if (skb->destructor) {
WARN_ON(in_irq());
skb->destructor(skb);
}
when mlx4_eq_int() calls printk() in interrupt context, thus
netconsole triggered this warning.
So, I am wondering if you can get netconsole message on the remote
successfully after removing that offending WARN_ON()?
I don't know the reason why we warn for calling sbk destructors in IRQ
context, seems the code is very code.
>
> Haggai
>
> [73550.981930] ------------[ cut here ]------------
> [73550.981933] WARNING: at net/core/skbuff.c:573 skb_release_head_state+0x10f/0x120()
> [73550.981933] Hardware name: PowerEdge R710
> [73550.981961] Modules linked in: rdma_ucm rdma_cm iw_cm ib_addr ib_ipoib ib_cm ib_uverbs ib_umad mlx4_ib ib_sa ib_mad ib_core mlx4_en mlx4_core mmu_trace(O) mst_pciconf(O) mst_pci(O) netconsole configfs nfsv3 nfs_acl nfsv4 auth_rpcgss nfs fscache lockd autofs4 sunrpc ipv6 dm_mirror dm_region_hash dm_log dm_mod uinput iTCO_wdt iTCO_vendor_support dcdbas sg ses enclosure coretemp hwmon kvm_intel kvm crc32c_intel ghash_clmulni_intel serio_raw pcspkr lpc_ich mfd_core bnx2 ext3 jbd mbcache sr_mod cdrom sd_mod crc_t10dif aesni_intel ablk_helper cryptd lrw aes_x86_64 xts gf128mul pata_acpi ata_generic ata_piix megaraid_sas [last unloaded: mlx4_core]
> [73550.981962] Pid: 9167, comm: odp Tainted: G W O 3.7.0-rc2-odp+ #8
> [73550.981963] Call Trace:
> [73550.981965] <IRQ> [<ffffffff8104619f>] warn_slowpath_common+0x7f/0xc0
> [73550.981967] [<ffffffff810461fa>] warn_slowpath_null+0x1a/0x20
> [73550.981969] [<ffffffff8147e9ff>] skb_release_head_state+0x10f/0x120
> [73550.981971] [<ffffffff8147e766>] __kfree_skb+0x16/0xa0
> [73550.981973] [<ffffffff8147eab1>] consume_skb+0x31/0xe0
> [73550.981978] [<ffffffffa00f7369>] bnx2_poll_work+0x2d9/0x13f0 [bnx2]
> [73550.981980] [<ffffffff8157ccc9>] ? _raw_spin_lock_irqsave+0x29/0x70
> [73550.981982] [<ffffffff8157d577>] ? _raw_spin_unlock_irqrestore+0x77/0x80
> [73550.981984] [<ffffffff8157ccc9>] ? _raw_spin_lock_irqsave+0x29/0x70
> [73550.981986] [<ffffffff8157d577>] ? _raw_spin_unlock_irqrestore+0x77/0x80
> [73550.981988] [<ffffffff810abc89>] ? trace_hardirqs_off_caller+0x29/0xc0
> [73550.981990] [<ffffffff810abd2d>] ? trace_hardirqs_off+0xd/0x10
> [73550.981995] [<ffffffffa00f84c3>] bnx2_poll_msix+0x43/0xd0 [bnx2]
> [73550.981996] [<ffffffff8157d6cc>] ? _raw_spin_trylock+0x6c/0x80
> [73550.981998] [<ffffffff814a8dce>] netpoll_poll_dev+0x14e/0x7a0
> [73550.982001] [<ffffffff814a972c>] netpoll_send_skb_on_dev+0x30c/0x400
> [73550.982003] [<ffffffff814a9b13>] netpoll_send_udp+0x263/0x2b0
> [73550.982006] [<ffffffffa00812f3>] write_msg+0xc3/0x120 [netconsole]
> [73550.982008] [<ffffffff810483f3>] call_console_drivers.clone.3+0xa3/0x1c0
> [73550.982010] [<ffffffff810487c8>] console_unlock+0x2b8/0x450
> [73550.982012] [<ffffffff81048d7e>] vprintk_emit+0x1de/0x5b0
> [73550.982014] [<ffffffff81579aed>] printk+0x4d/0x4f
> [73550.982015] [<ffffffff8129e41c>] ? ___ratelimit+0xac/0x150
> [73550.982020] [<ffffffffa03f5829>] mlx4_eq_int+0x779/0xc50 [mlx4_core]
> [73550.982025] [<ffffffffa000152f>] ? megasas_isr+0x5f/0x200 [megaraid_sas]
> [73550.982027] [<ffffffff8157ccc9>] ? _raw_spin_lock_irqsave+0x29/0x70
> [73550.982029] [<ffffffff813636c1>] ? add_interrupt_randomness+0x41/0x190
> [73550.982034] [<ffffffffa03f5d14>] mlx4_msi_x_interrupt+0x14/0x20 [mlx4_core]
> [73550.982036] [<ffffffff810e3fd5>] handle_irq_event_percpu+0x95/0x390
> [73550.982039] [<ffffffff8139be30>] ? scsi_get_command+0xc0/0xc0
> [73550.982040] [<ffffffff810e4318>] handle_irq_event+0x48/0x70
> [73550.982043] [<ffffffff810e796d>] handle_edge_irq+0x6d/0x130
> [73550.982044] [<ffffffff8100470c>] handle_irq+0x5c/0x150
> [73550.982046] [<ffffffff8104fdcb>] ? irq_enter+0x1b/0x90
> [73550.982048] [<ffffffff8158855d>] do_IRQ+0x5d/0xe0
> [73550.982050] [<ffffffff8157d9b2>] common_interrupt+0x72/0x72
> [73550.982052] [<ffffffff8157da73>] ? retint_restore_args+0x13/0x13
> [73550.982054] [<ffffffff8157d540>] ? _raw_spin_unlock_irqrestore+0x40/0x80
> [73550.982056] [<ffffffff8157d545>] ? _raw_spin_unlock_irqrestore+0x45/0x80
> [73550.982061] [<ffffffffa00011d7>] megasas_queue_command+0x77/0x170 [megaraid_sas]
> [73550.982063] [<ffffffff8139bfdb>] scsi_dispatch_cmd+0xeb/0x380
> [73550.982065] [<ffffffff813a2f18>] scsi_request_fn+0x408/0x6f0
> [73550.982067] [<ffffffff8127158e>] __blk_run_queue+0x1e/0x20
> [73550.982069] [<ffffffff81273f30>] blk_run_queue+0x30/0x50
> [73550.982071] [<ffffffff813a23e2>] scsi_run_queue+0xd2/0x2a0
> [73550.982073] [<ffffffff810af0ad>] ? trace_hardirqs_on+0xd/0x10
> [73550.982075] [<ffffffff813a3452>] scsi_next_command+0x42/0x60
> [73550.982077] [<ffffffff813a41c6>] scsi_io_completion+0x2b6/0x670
> [73550.982079] [<ffffffff8139b2f9>] scsi_finish_command+0xc9/0x130
> [73550.982081] [<ffffffff813a46e7>] scsi_softirq_done+0x147/0x170
> [73550.982083] [<ffffffff8127e9ea>] blk_done_softirq+0x8a/0xa0
> [73550.982086] [<ffffffff81050810>] __do_softirq+0x110/0x3c0
> [73550.982088] [<ffffffff8139be30>] ? scsi_get_command+0xc0/0xc0
> [73550.982090] [<ffffffff81587e3c>] call_softirq+0x1c/0x30
> [73550.982092] [<ffffffff8100467d>] do_softirq+0xad/0xe0
> [73550.982094] [<ffffffff8104fc75>] irq_exit+0xe5/0x100
> [73550.982095] [<ffffffff81588566>] do_IRQ+0x66/0xe0
> [73550.982097] [<ffffffff8157d9b2>] common_interrupt+0x72/0x72
> [73550.982100] <EOI> [<ffffffff8157d540>] ? _raw_spin_unlock_irqrestore+0x40/0x80
> [73550.982102] [<ffffffff8157d545>] ? _raw_spin_unlock_irqrestore+0x45/0x80
> [73550.982106] [<ffffffffa00011d7>] megasas_queue_command+0x77/0x170 [megaraid_sas]
> [73550.982109] [<ffffffff8139bfdb>] scsi_dispatch_cmd+0xeb/0x380
> [73550.982111] [<ffffffff813a2f18>] scsi_request_fn+0x408/0x6f0
> [73550.982113] [<ffffffff81293c5c>] ? cfq_insert_request+0x4c/0x630
> [73550.982115] [<ffffffff8127158e>] __blk_run_queue+0x1e/0x20
> [73550.982117] [<ffffffff81293f77>] cfq_insert_request+0x367/0x630
> [73550.982118] [<ffffffff81293c5c>] ? cfq_insert_request+0x4c/0x630
> [73550.982121] [<ffffffff81278db0>] ? blk_flush_plug_list+0x180/0x270
> [73550.982123] [<ffffffff812ad173>] ? debug_object_activate+0x83/0x190
> [73550.982125] [<ffffffff81270e88>] __elv_add_request+0x138/0x2b0
> [73550.982127] [<ffffffff81278de4>] blk_flush_plug_list+0x1b4/0x270
> [73550.982129] [<ffffffff8157c010>] schedule+0x50/0x70
> [73550.982130] [<ffffffff81579cce>] schedule_timeout+0x15e/0x2c0
> [73550.982132] [<ffffffff810581c0>] ? lock_timer_base+0x70/0x70
> [73550.982135] [<ffffffff8157be8b>] wait_for_common+0x12b/0x180
> [73550.982136] [<ffffffff81086c10>] ? try_to_wake_up+0x300/0x300
> [73550.982138] [<ffffffff8157bf93>] wait_for_completion_timeout+0x13/0x20
> [73550.982143] [<ffffffffa03f28f2>] __mlx4_cmd+0x2a2/0x5c0 [mlx4_core]
> [73550.982149] [<ffffffffa04021d6>] mlx4_SYNC_TPT+0x36/0x40 [mlx4_core]
> [73550.982151] [<ffffffff8157a80e>] ? mutex_unlock+0xe/0x10
> [73550.982156] [<ffffffffa0436e3d>] invalidation_handler+0x22d/0x3b0 [mlx4_ib]
> [73550.982161] [<ffffffffa0436c10>] ? mlx4_ib_qp_pfault_action+0x40/0x40 [mlx4_ib]
> [73550.982166] [<ffffffffa043702d>] mlx4_ib_invalidate_page+0x2d/0x30 [mlx4_ib]
> [73550.982170] [<ffffffffa025c764>] invalidate_page_trampoline+0x34/0x50 [ib_core]
> [73550.982175] [<ffffffffa025d7e4>] rbt_ib_umem_for_each_in_range+0xa4/0x150 [ib_core]
> [73550.982179] [<ffffffffa025c730>] ? invalidate_range_start_trampoline+0x60/0x60 [ib_core]
> [73550.982183] [<ffffffffa025cf33>] ib_umem_notifier_invalidate_page+0x63/0x80 [ib_core]
> [73550.982185] [<ffffffff8117ace5>] __mmu_notifier_invalidate_page+0xa5/0x1b0
> [73550.982188] [<ffffffff8117ac40>] ? mmu_notifier_unregister+0x1e0/0x1e0
> [73550.982190] [<ffffffff811660f8>] try_to_unmap_one+0x3f8/0x470
> [73550.982192] [<ffffffff81164ff1>] ? page_lock_anon_vma+0x151/0x2b0
> [73550.982194] [<ffffffff81164ea0>] ? page_get_anon_vma+0x1b0/0x1b0
> [73550.982196] [<ffffffff811668fc>] try_to_unmap_anon+0xbc/0x160
> [73550.982198] [<ffffffff81166a6b>] try_to_unmap+0x6b/0xa0
> [73550.982201] [<ffffffff811407ab>] shrink_page_list+0x3eb/0xa50
> [73550.982203] [<ffffffff8114210f>] shrink_inactive_list+0x17f/0x4c0
> [73550.982205] [<ffffffff811426ec>] ? shrink_active_list+0x29c/0x340
> [73550.982207] [<ffffffff81142c25>] shrink_lruvec+0x495/0x5b0
> [73550.982209] [<ffffffff812943dc>] ? cfq_dispatch_requests+0x19c/0xd20
> [73550.982211] [<ffffffff8157ccc9>] ? _raw_spin_lock_irqsave+0x29/0x70
> [73550.982213] [<ffffffff81142da6>] shrink_zone+0x66/0xc0
> [73550.982215] [<ffffffff8114451b>] do_try_to_free_pages+0xeb/0x630
> [73550.982217] [<ffffffff81144c0b>] try_to_free_mem_cgroup_pages+0xbb/0x200
> [73550.982219] [<ffffffff810aef10>] ? trace_hardirqs_on_caller+0x20/0x1b0
> [73550.982221] [<ffffffff8119069e>] mem_cgroup_reclaim+0x4e/0xe0
> [73550.982223] [<ffffffff8119101c>] __mem_cgroup_try_charge+0x4cc/0x9e0
> [73550.982225] [<ffffffff81194874>] ? swap_cgroup_record+0x34/0x60
> [73550.982228] [<ffffffff81191943>] __mem_cgroup_try_charge_swapin+0xa3/0xc0
> [73550.982231] [<ffffffff811919af>] mem_cgroup_try_charge_swapin+0x4f/0x60
> [73550.982232] [<ffffffff8115b5ec>] handle_pte_fault+0x30c/0x9d0
> [73550.982234] [<ffffffff8119410f>] ? mem_cgroup_count_vm_event+0x1f/0x190
> [73550.982236] [<ffffffff8115bf01>] handle_mm_fault+0x251/0x310
> [73550.982238] [<ffffffff81581943>] __do_page_fault+0x223/0x510
> [73550.982240] [<ffffffff810aef10>] ? trace_hardirqs_on_caller+0x20/0x1b0
> [73550.982242] [<ffffffff810af0ad>] ? trace_hardirqs_on+0xd/0x10
> [73550.982244] [<ffffffff8157d4e0>] ? _raw_spin_unlock_irq+0x30/0x50
> [73550.982246] [<ffffffff81080ee5>] ? finish_task_switch+0x85/0x120
> [73550.982248] [<ffffffff81080ea8>] ? finish_task_switch+0x48/0x120
> [73550.982250] [<ffffffff8157df06>] ? error_sti+0x5/0x6
> [73550.982252] [<ffffffff810abc89>] ? trace_hardirqs_off_caller+0x29/0xc0
> [73550.982254] [<ffffffff812a5ebd>] ? trace_hardirqs_off_thunk+0x3a/0x3c
> [73550.982256] [<ffffffff81581c3e>] do_page_fault+0xe/0x10
> [73550.982258] [<ffffffff8157dcb8>] page_fault+0x28/0x30
> [73550.982259] ---[ end trace 12bb14f2b81db036 ]---
>
>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists