Re: [PATCH 0/8] git pull request for tip/tracing/core

From: Ingo Molnar
Date: Wed Feb 11 2009 - 15:20:49 EST



* Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

>
> On Wed, 11 Feb 2009, Luck, Tony wrote:
>
> > > The bits in question is really the number of possible nested interrupts
> > > that can happen. We take the paranoid approach that we can have a max
> > > nesting of NR_IRQS. Perhaps this can be changed, and just do a max of
> > > 1<<10 nesting? And have a big warn on if it happens to be bigger, or fall
> > > to another counter if it is bigger.
> > >
> > > 1000 nested IRQs seems a bit extreme :-/
> >
> > Ah, I see. Then the answer is very different. The number of nested
> > interrupts possible on a cpu is limited by the number of priority
> > classes for interrupts (See Table 5-8 on page 2:112 of the Itanium
> > software developers manual). Effectively the max nesting depth is
> > 16.
> >
> > 1000 nested interrupts would be certain to run us out of stack.
>
> Ingo,
>
> Do you think this is a good assumption to make, that no arch will have
> over 1<<10 nested interrupts. We can add a WARN_ON if it happens. Then we
> can make all archs have a 10 bit offset. Smaller may also be sufficient.

That's a fair assumption, yes. No need for a WARN_ON() (it slows down a critical
path) - things will get very colorful much sooner than that, due to kernel stack
overflow.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/