Ethernet Bridge development
 help / color / mirror / Atom feed
From: David Woodhouse <dwmw2@infradead.org>
To: Stephen Hemminger <shemminger@osdl.org>
Cc: Crazy AMD K7 <snort2004@mail.ru>,
	bridge@osdl.org, Bart De Schuymer <bdschuym@pandora.be>,
	Andi Kleen <ak@suse.de>,
	netdev@oss.sgi.com
Subject: [Bridge] Re: do_IRQ: stack overflow: 872..
Date: Fri, 07 Jan 2005 19:06:52 +0100	[thread overview]
Message-ID: <1105121212.6500.3.camel@localhost.localdomain> (raw)
In-Reply-To: <20050107100017.454ddadc@dxpl.pdx.osdl.net>

On Fri, 2005-01-07 at 10:00 -0800, Stephen Hemminger wrote:
> > I don't think it's recursing -- I think the stack trace is just a bit
> > noisy. The problem is that the bridge code, especially with br_netfilter
> > in the equation, is implicated in code paths which are just _too_ deep.
> > This happens when you're bridging packets received in an interrupt while
> > you were deep in journalling code, and it's also been seen with a call
> > trace something like nfs->sunrpc->ip->bridge->br_netfilter.
> 
> Sounds like an argument for interrupt stacks.

The NFS case didn't involve hardware interrupts. Except for the one
which actually detected that the stack had overflowed.

> Probably the solution would be to handle it in the filter code
> that way if we are not filtering, we can use the interrupt path,
> but if filtering just defer to a safer context (like soft irq).

That's also a possibility.

> > Unfortunately that approach would introduce a lot of latency on all
> > packets we pass. Another option would be to have all architectures
> > provide a stack_available() function and for br_dev_xmit() to queue the
> > packet only if we're short of stack, while still sending most packets
> > immediately. 
> 
> NO, that looks like a testablity and portablity nightmare.

Yeah, I suppose I'm inclined to agree.

-- 
dwmw2


  reply	other threads:[~2005-01-07 18:06 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1131604877.20041218092730@mail.ru.suse.lists.linux.kernel>
     [not found] ` <p73zn0ccaee.fsf@verdi.suse.de>
     [not found]   ` <1105117559.11753.34.camel@baythorne.infradead.org>
2005-01-07 18:00     ` [Bridge] Re: do_IRQ: stack overflow: 872 Stephen Hemminger
2005-01-07 18:06       ` David Woodhouse [this message]
2005-01-07 21:27       ` Bart De Schuymer
2005-01-18 21:57         ` David S. Miller
2005-01-22 22:30           ` [Bridge] [PATCH/RFC] Reduce call chain length in netfilter (was: Re: do_IRQ: stack overflow: 872..) Bart De Schuymer
2005-01-22 23:22             ` [Bridge] " Martin Josefsson
2005-01-23 12:40               ` Bart De Schuymer
2005-01-23 16:08                 ` Martin Josefsson
2005-01-26  6:05                   ` David S. Miller
2005-01-26  9:08                     ` Bart De Schuymer
2005-01-26 23:49                       ` [Bridge] Re: [PATCH/RFC] Reduce call chain length in netfilter Patrick McHardy
2005-01-27  7:18                         ` David S. Miller
2005-01-27 17:50                           ` Patrick McHardy
2005-01-27 19:47                             ` David S. Miller
2005-01-27 21:16                               ` Bart De Schuymer
2005-01-27 22:48                               ` Patrick McHardy
2005-01-27 23:24                                 ` David S. Miller
2005-01-28  0:08                                   ` Patrick McHardy
2005-01-28  0:29                                   ` Rusty Russell
2005-01-28  1:10                                     ` David S. Miller
2005-01-28  1:32                                       ` Rusty Russell
2005-01-28  1:35                                         ` Patrick McHardy

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=1105121212.6500.3.camel@localhost.localdomain \
    --to=dwmw2@infradead.org \
    --cc=ak@suse.de \
    --cc=bdschuym@pandora.be \
    --cc=bridge@osdl.org \
    --cc=netdev@oss.sgi.com \
    --cc=shemminger@osdl.org \
    --cc=snort2004@mail.ru \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox