From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760814Ab2FHOwm (ORCPT ); Fri, 8 Jun 2012 10:52:42 -0400 Received: from www.linutronix.de ([62.245.132.108]:58831 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757032Ab2FHOvw (ORCPT ); Fri, 8 Jun 2012 10:51:52 -0400 Date: Fri, 8 Jun 2012 16:51:48 +0200 (CEST) From: Thomas Gleixner To: Dave Jones cc: Francois Romieu , Marc Dionne , Linux Kernel Subject: Re: NOHZ: local_softirq_pending 08 In-Reply-To: <20120608142333.GB1711@redhat.com> Message-ID: References: <20120530214809.GA19223@redhat.com> <20120601225754.GA25281@electric-eye.fr.zoreil.com> <20120605231550.GA20981@electric-eye.fr.zoreil.com> <20120606014656.GA24870@redhat.com> <20120606054251.GA24467@electric-eye.fr.zoreil.com> <20120608023420.GD7191@redhat.com> <20120608142333.GB1711@redhat.com> User-Agent: Alpine 2.02 (LFD 1266 2009-07-14) MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="8323328-63674380-1339167109=:3086" X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323328-63674380-1339167109=:3086 Content-Type: TEXT/PLAIN; charset=utf-8 Content-Transfer-Encoding: 8BIT On Fri, 8 Jun 2012, Dave Jones wrote: > On Fri, Jun 08, 2012 at 09:57:03AM +0200, Thomas Gleixner wrote: > > On Thu, 7 Jun 2012, Dave Jones wrote: > > > > > > The log is still huge though. (68M uncompressed) at > > > http://www.codemonkey.org.uk/junk/r8169-trace.txt.xz > > > > Following that URL gives me a nice picture. > > > > This is somewhat embarrassing, isn’t it? :) > > indeed ;-) Should be fixed. I can't find the point where the warning is issued, but I think I found the cause of the problem. static void rtl_slow_event_work(struct rtl8169_private *tp) { ..... napi_schedule(&tp->napi); --> __napi_schedule(); --> list_add_tail(&napi->poll_list, &sd->poll_list); __raise_softirq_irqoff(NET_RX_SOFTIRQ); This merily sets the softirq bit. So this code is really wrong. It's called from full preemptible context of the workqueue. And if the next thing is a context switch to idle then the pending softirq check will trigger. I let the network folks sort out the proper solution. Thanks, tglx --8323328-63674380-1339167109=:3086--