Re: hot cache line due to note_interrupt()

From: Andrew Morton
Date: Tue Nov 11 2003 - 14:54:56 EST


Ravikiran G Thirumalai <kiran@xxxxxxxxxx> wrote:
>
> On Mon, Nov 10, 2003 at 03:58:44PM -0600, Jack Steiner wrote:
> >
> > I dont know the background on note_interrupt() in arch/ia64/kernel/irq.c,
> > but I had to disable the function on our large systems (IA64).
> >
> > The function updates a counter in the irq_desc_t table. An entry in this table
> > is shared by all cpus that take a specific interrupt #. For most interrupt #'s,
> > this is a problem but it is prohibitive for the timer tick on big systems.
> >
> > Updating the counter causes a cache line to be bounced between
> > cpus at a rate of at least HZ*active_cpus. (The number of bus transactions
>
> The answer to this is probably alloc_percpu for the counters.

Or just make noirqdebug the default.

The note_interrupt() stuff is only useful for diagnosing mysterious lockups
(and hasn't proven useful for that, actually). It should be disabled for
production use.


-
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/