From: Matt Mackall <mpm@selenic.com>
To: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Simon Arlott <simon@fire.lp0.eu>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
netdev@vger.kernel.org, Ingo Molnar <mingo@redhat.com>
Subject: Re: 2.6.23 WARNING: at kernel/softirq.c:139 local_bh_enable()
Date: Fri, 23 Nov 2007 11:07:56 -0600 [thread overview]
Message-ID: <20071123170756.GV19691@waste.org> (raw)
In-Reply-To: <20071123105518.GA22062@2ka.mipt.ru>
On Fri, Nov 23, 2007 at 01:55:19PM +0300, Evgeniy Polyakov wrote:
> On Fri, Nov 23, 2007 at 12:21:57AM -0800, Andrew Morton (akpm@linux-foundation.org) wrote:
> > > [2059664.615816] __iptables__: init4 IN=ppp0 OUT=ppp0 WARNING: at kernel/softirq.c:139 local_bh_enable()
> > > [2059664.620535] [<80120364>] local_bh_enable+0x3c/0x97
>
> > > [2059664.620657] [<8011c205>] __call_console_drivers+0x61/0x6d
> > > [2059664.620669] [<8011c3fc>] release_console_sem+0x164/0x1bf
> > > [2059664.620679] [<8011c81f>] vprintk+0x27a/0x2ff
>
> > If that trace is to be beieved we're doing nefilter stuff on packets which
> > were sent across netconsole.
> >
> > This probably isn't anything the netfilter guys have thought about. And
> > probably we don't want them to. Is there some simple way in which we can
> > exempt netconsole from netfilter processing?
>
> This is not about netfilter, but about freeing skb in interrupt context,
> which is not allowed, and in interrupt skbs are queued to be freed in softirq,
> but netcnsole wants to flush softirq freeing queue. That is a question: why?
My memory here is hazy, but I think this exists to rescue netconsole
in low-memory situations. This bit originated with Ingo, so maybe he
can recall.
Netpoll can process an arbitrary number of skbs inside a single
interrupt. Think sysrq-t at one packet per line or kgdboe where the
entire trace session can happen inside one very long interrupt.
Perhaps we can refine this to mark netpoll's skbs (perhaps with
->destructor?) and delete only skbs we own. As these are never passed
through any of the other route/xfrm/filter code, they should be safe
to delete even in irq context, yes?
> Removing zap_completion_queue() from find_skb() will fix the warning,
> but I'm not sure this is a correct fix. I've added Matt to the Cc list.
Care to try the sysrq-t or OOM message tests?
--
Mathematics is the supreme nostalgia of our time.
next prev parent reply other threads:[~2007-11-23 17:09 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-22 19:47 2.6.23 WARNING: at kernel/softirq.c:139 local_bh_enable() Simon Arlott
2007-11-23 8:21 ` Andrew Morton
2007-11-23 10:55 ` Evgeniy Polyakov
2007-11-23 17:07 ` Matt Mackall [this message]
2007-11-23 17:57 ` Evgeniy Polyakov
2007-11-23 18:48 ` Evgeniy Polyakov
2007-11-23 18:51 ` Evgeniy Polyakov
2007-11-23 18:59 ` Evgeniy Polyakov
2007-11-23 19:11 ` Matt Mackall
2007-11-23 19:32 ` Evgeniy Polyakov
2007-11-23 19:41 ` Matt Mackall
2007-11-23 19:54 ` Evgeniy Polyakov
2007-11-23 20:07 ` Evgeniy Polyakov
2007-11-23 20:09 ` Matt Mackall
2007-11-24 18:19 ` Matt Mackall
2007-11-23 18:59 ` Matt Mackall
2007-11-23 19:15 ` Evgeniy Polyakov
2007-11-23 19:20 ` Matt Mackall
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20071123170756.GV19691@waste.org \
--to=mpm@selenic.com \
--cc=akpm@linux-foundation.org \
--cc=johnpol@2ka.mipt.ru \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=simon@fire.lp0.eu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.