From mboxrd@z Thu Jan 1 00:00:00 1970 From: Cong Wang Subject: Re: WARNING: at net/core/skbuff.c:573 Date: Tue, 30 Oct 2012 08:46:38 +0000 (UTC) Message-ID: References: <508F8612.2040301@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: netdev@vger.kernel.org Return-path: Received: from plane.gmane.org ([80.91.229.3]:33449 "EHLO plane.gmane.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756126Ab2J3Iqw (ORCPT ); Tue, 30 Oct 2012 04:46:52 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1TT7TO-00031H-P7 for netdev@vger.kernel.org; Tue, 30 Oct 2012 09:46:58 +0100 Received: from 112.132.138.96 ([112.132.138.96]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 30 Oct 2012 09:46:58 +0100 Received: from xiyou.wangcong by 112.132.138.96 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 30 Oct 2012 09:46:58 +0100 Sender: netdev-owner@vger.kernel.org List-ID: On Tue, 30 Oct 2012 at 07:47 GMT, Haggai Eran 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] [] warn_slowpath_common+0x7f/0xc0 > [73550.981967] [] warn_slowpath_null+0x1a/0x20 > [73550.981969] [] skb_release_head_state+0x10f/0x120 > [73550.981971] [] __kfree_skb+0x16/0xa0 > [73550.981973] [] consume_skb+0x31/0xe0 > [73550.981978] [] bnx2_poll_work+0x2d9/0x13f0 [bnx2] > [73550.981980] [] ? _raw_spin_lock_irqsave+0x29/0x70 > [73550.981982] [] ? _raw_spin_unlock_irqrestore+0x77/0x80 > [73550.981984] [] ? _raw_spin_lock_irqsave+0x29/0x70 > [73550.981986] [] ? _raw_spin_unlock_irqrestore+0x77/0x80 > [73550.981988] [] ? trace_hardirqs_off_caller+0x29/0xc0 > [73550.981990] [] ? trace_hardirqs_off+0xd/0x10 > [73550.981995] [] bnx2_poll_msix+0x43/0xd0 [bnx2] > [73550.981996] [] ? _raw_spin_trylock+0x6c/0x80 > [73550.981998] [] netpoll_poll_dev+0x14e/0x7a0 > [73550.982001] [] netpoll_send_skb_on_dev+0x30c/0x400 > [73550.982003] [] netpoll_send_udp+0x263/0x2b0 > [73550.982006] [] write_msg+0xc3/0x120 [netconsole] > [73550.982008] [] call_console_drivers.clone.3+0xa3/0x1c0 > [73550.982010] [] console_unlock+0x2b8/0x450 > [73550.982012] [] vprintk_emit+0x1de/0x5b0 > [73550.982014] [] printk+0x4d/0x4f > [73550.982015] [] ? ___ratelimit+0xac/0x150 > [73550.982020] [] mlx4_eq_int+0x779/0xc50 [mlx4_core] > [73550.982025] [] ? megasas_isr+0x5f/0x200 [megaraid_sas] > [73550.982027] [] ? _raw_spin_lock_irqsave+0x29/0x70 > [73550.982029] [] ? add_interrupt_randomness+0x41/0x190 > [73550.982034] [] mlx4_msi_x_interrupt+0x14/0x20 [mlx4_core] > [73550.982036] [] handle_irq_event_percpu+0x95/0x390 > [73550.982039] [] ? scsi_get_command+0xc0/0xc0 > [73550.982040] [] handle_irq_event+0x48/0x70 > [73550.982043] [] handle_edge_irq+0x6d/0x130 > [73550.982044] [] handle_irq+0x5c/0x150 > [73550.982046] [] ? irq_enter+0x1b/0x90 > [73550.982048] [] do_IRQ+0x5d/0xe0 > [73550.982050] [] common_interrupt+0x72/0x72 > [73550.982052] [] ? retint_restore_args+0x13/0x13 > [73550.982054] [] ? _raw_spin_unlock_irqrestore+0x40/0x80 > [73550.982056] [] ? _raw_spin_unlock_irqrestore+0x45/0x80 > [73550.982061] [] megasas_queue_command+0x77/0x170 [megaraid_sas] > [73550.982063] [] scsi_dispatch_cmd+0xeb/0x380 > [73550.982065] [] scsi_request_fn+0x408/0x6f0 > [73550.982067] [] __blk_run_queue+0x1e/0x20 > [73550.982069] [] blk_run_queue+0x30/0x50 > [73550.982071] [] scsi_run_queue+0xd2/0x2a0 > [73550.982073] [] ? trace_hardirqs_on+0xd/0x10 > [73550.982075] [] scsi_next_command+0x42/0x60 > [73550.982077] [] scsi_io_completion+0x2b6/0x670 > [73550.982079] [] scsi_finish_command+0xc9/0x130 > [73550.982081] [] scsi_softirq_done+0x147/0x170 > [73550.982083] [] blk_done_softirq+0x8a/0xa0 > [73550.982086] [] __do_softirq+0x110/0x3c0 > [73550.982088] [] ? scsi_get_command+0xc0/0xc0 > [73550.982090] [] call_softirq+0x1c/0x30 > [73550.982092] [] do_softirq+0xad/0xe0 > [73550.982094] [] irq_exit+0xe5/0x100 > [73550.982095] [] do_IRQ+0x66/0xe0 > [73550.982097] [] common_interrupt+0x72/0x72 > [73550.982100] [] ? _raw_spin_unlock_irqrestore+0x40/0x80 > [73550.982102] [] ? _raw_spin_unlock_irqrestore+0x45/0x80 > [73550.982106] [] megasas_queue_command+0x77/0x170 [megaraid_sas] > [73550.982109] [] scsi_dispatch_cmd+0xeb/0x380 > [73550.982111] [] scsi_request_fn+0x408/0x6f0 > [73550.982113] [] ? cfq_insert_request+0x4c/0x630 > [73550.982115] [] __blk_run_queue+0x1e/0x20 > [73550.982117] [] cfq_insert_request+0x367/0x630 > [73550.982118] [] ? cfq_insert_request+0x4c/0x630 > [73550.982121] [] ? blk_flush_plug_list+0x180/0x270 > [73550.982123] [] ? debug_object_activate+0x83/0x190 > [73550.982125] [] __elv_add_request+0x138/0x2b0 > [73550.982127] [] blk_flush_plug_list+0x1b4/0x270 > [73550.982129] [] schedule+0x50/0x70 > [73550.982130] [] schedule_timeout+0x15e/0x2c0 > [73550.982132] [] ? lock_timer_base+0x70/0x70 > [73550.982135] [] wait_for_common+0x12b/0x180 > [73550.982136] [] ? try_to_wake_up+0x300/0x300 > [73550.982138] [] wait_for_completion_timeout+0x13/0x20 > [73550.982143] [] __mlx4_cmd+0x2a2/0x5c0 [mlx4_core] > [73550.982149] [] mlx4_SYNC_TPT+0x36/0x40 [mlx4_core] > [73550.982151] [] ? mutex_unlock+0xe/0x10 > [73550.982156] [] invalidation_handler+0x22d/0x3b0 [mlx4_ib] > [73550.982161] [] ? mlx4_ib_qp_pfault_action+0x40/0x40 [mlx4_ib] > [73550.982166] [] mlx4_ib_invalidate_page+0x2d/0x30 [mlx4_ib] > [73550.982170] [] invalidate_page_trampoline+0x34/0x50 [ib_core] > [73550.982175] [] rbt_ib_umem_for_each_in_range+0xa4/0x150 [ib_core] > [73550.982179] [] ? invalidate_range_start_trampoline+0x60/0x60 [ib_core] > [73550.982183] [] ib_umem_notifier_invalidate_page+0x63/0x80 [ib_core] > [73550.982185] [] __mmu_notifier_invalidate_page+0xa5/0x1b0 > [73550.982188] [] ? mmu_notifier_unregister+0x1e0/0x1e0 > [73550.982190] [] try_to_unmap_one+0x3f8/0x470 > [73550.982192] [] ? page_lock_anon_vma+0x151/0x2b0 > [73550.982194] [] ? page_get_anon_vma+0x1b0/0x1b0 > [73550.982196] [] try_to_unmap_anon+0xbc/0x160 > [73550.982198] [] try_to_unmap+0x6b/0xa0 > [73550.982201] [] shrink_page_list+0x3eb/0xa50 > [73550.982203] [] shrink_inactive_list+0x17f/0x4c0 > [73550.982205] [] ? shrink_active_list+0x29c/0x340 > [73550.982207] [] shrink_lruvec+0x495/0x5b0 > [73550.982209] [] ? cfq_dispatch_requests+0x19c/0xd20 > [73550.982211] [] ? _raw_spin_lock_irqsave+0x29/0x70 > [73550.982213] [] shrink_zone+0x66/0xc0 > [73550.982215] [] do_try_to_free_pages+0xeb/0x630 > [73550.982217] [] try_to_free_mem_cgroup_pages+0xbb/0x200 > [73550.982219] [] ? trace_hardirqs_on_caller+0x20/0x1b0 > [73550.982221] [] mem_cgroup_reclaim+0x4e/0xe0 > [73550.982223] [] __mem_cgroup_try_charge+0x4cc/0x9e0 > [73550.982225] [] ? swap_cgroup_record+0x34/0x60 > [73550.982228] [] __mem_cgroup_try_charge_swapin+0xa3/0xc0 > [73550.982231] [] mem_cgroup_try_charge_swapin+0x4f/0x60 > [73550.982232] [] handle_pte_fault+0x30c/0x9d0 > [73550.982234] [] ? mem_cgroup_count_vm_event+0x1f/0x190 > [73550.982236] [] handle_mm_fault+0x251/0x310 > [73550.982238] [] __do_page_fault+0x223/0x510 > [73550.982240] [] ? trace_hardirqs_on_caller+0x20/0x1b0 > [73550.982242] [] ? trace_hardirqs_on+0xd/0x10 > [73550.982244] [] ? _raw_spin_unlock_irq+0x30/0x50 > [73550.982246] [] ? finish_task_switch+0x85/0x120 > [73550.982248] [] ? finish_task_switch+0x48/0x120 > [73550.982250] [] ? error_sti+0x5/0x6 > [73550.982252] [] ? trace_hardirqs_off_caller+0x29/0xc0 > [73550.982254] [] ? trace_hardirqs_off_thunk+0x3a/0x3c > [73550.982256] [] do_page_fault+0xe/0x10 > [73550.982258] [] page_fault+0x28/0x30 > [73550.982259] ---[ end trace 12bb14f2b81db036 ]--- > >