[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <617E1C2C70743745A92448908E030B2A02D2142E@scsmsx411.amr.corp.intel.com>
Date: Wed, 31 Oct 2007 09:20:27 -0700
From: "Luck, Tony" <tony.luck@...el.com>
To: "Russ Anderson" <rja@....com>,
"LKML" <linux-kernel@...r.kernel.org>, <akpm@...ux-foundation.org>,
<linux-ia64@...r.kernel.org>
Subject: RE: [patch] __do_IRQ does not check IRQ_DISABLED when IRQ_PER_CPU is set
> One user encountering this behavior is the CPE handler (in
> arch/ia64/kernel/mca.c). When the CPE handler encounters too many
> CPEs (such as a solid single bit error), it sets up a polling timer
> and disables the CPE interrupt (to avoid excessive overhead logging
> the stream of single bit errors). disable_irq_nosync() is called
> which sets IRQ_DISABLED. The IRQ_PER_CPU flag was previously set
> (in ia64_mca_late_init()). The net result is the CPE handler gets
> called even though it is marked disabled.
Presumably we are in this situation because there are still some
pending CPE interrupts on some cpus when we disable CPE? Or is
there a more serious problem that we aren't manage to disable CPE
on all cpus properly?
-Tony
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists