From mboxrd@z Thu Jan 1 00:00:00 1970 From: Luca Tettamanti Subject: Re: RPS vs. hard-irq-context netif_rx() Date: Tue, 17 Aug 2010 13:52:30 +0200 Message-ID: <20100817115230.GA6510@nb-core2.darkstar.lan> References: <1280495027.3710.13.camel@jlt3.sipsolutions.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Johannes Berg To: netdev@vger.kernel.org Return-path: Received: from mail-ew0-f46.google.com ([209.85.215.46]:58903 "EHLO mail-ew0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752583Ab0HQLwh (ORCPT ); Tue, 17 Aug 2010 07:52:37 -0400 Received: by ewy23 with SMTP id 23so2900362ewy.19 for ; Tue, 17 Aug 2010 04:52:36 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1280495027.3710.13.camel@jlt3.sipsolutions.net> Sender: netdev-owner@vger.kernel.org List-ID: > I got the following on a kvm instance I use for testing: > > [ 51.358803] WARNING: at kernel/lockdep.c:2327trace_hardirqs_on_caller+0x167/0x200() > [ 51.360210] Hardware name: Bochs > [ 51.360210] Modules linked in: > [ 51.360210] Pid: 1546, comm: dhclient3 Tainted: G W 2.6.35-rc6-wl+ #588 > [ 51.360210] Call Trace: > [ 51.360210] [] warn_slowpath_common+0x7f/0xc0 > [ 51.360210] [] warn_slowpath_null+0x1a/0x20 > [ 51.360210] [] trace_hardirqs_on_caller+0x167/0x200 > [ 51.360210] [] trace_hardirqs_on+0xd/0x10 > [ 51.360210] [] local_bh_enable+0x9e/0x130 > [ 51.360210] [] netif_rx+0xc2/0x250 > [ 51.360210] [] ei_receive+0x1b7/0x2c0 > [ 51.360210] [] __ei_interrupt+0x282/0x360 > [ 51.360210] [] ei_interrupt+0xe/0x10 > [ 51.360210] [] handle_IRQ_event+0x85/0x300 > [ 51.360210] [] handle_level_irq+0x95/0x120 > [ 51.360210] [] handle_irq+0x22/0x30 > [ 51.360210] [] do_IRQ+0x73/0xf0 [...] >So .. where's the bug? I'd point to CONFIG_RPS since it's newest. Hello, I just hit the same warning, with 2.6.36-rc1: [ 228.001459] WARNING: at /home/kronos/src/linux-2.6.git/kernel/softirq.c:143 local_bh_enable+0x3c/0x9a() [ 228.004096] Hardware name: F3Sa [ 228.004175] Modules linked in: [...] [ 228.015974] Pid: 2818, comm: irqbalance Not tainted 2.6.36-rc1 #274 [ 228.015974] Call Trace: [ 228.015974] [] warn_slowpath_common+0x80/0x98 [ 228.015974] [] warn_slowpath_null+0x15/0x17 [ 228.015974] [] local_bh_enable+0x3c/0x9a [ 228.015974] [] netif_rx+0x75/0x145 [ 228.015974] [] ? unmap_single+0x4a/0x52 [ 228.015974] [] atl1_intr+0x96c/0xa35 [ 228.015974] [] ? hrtimer_wakeup+0x0/0x21 [ 228.015974] [] handle_IRQ_event+0x20/0x9a [ 228.015974] [] handle_edge_irq+0xf5/0x141 [ 228.015974] [] handle_irq+0x83/0x8c [ 228.015974] [] do_IRQ+0x5e/0xc4 [ 228.015974] [] ret_from_intr+0x0/0xa CONFIG_TREE_RCU=y CONFIG_RPS=y I never saw the warning with 2.6.35 and earlier kernels though. Luca