[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070518183941.GA28957@linux-os.sc.intel.com>
Date: Fri, 18 May 2007 11:39:41 -0700
From: "Siddha, Suresh B" <suresh.b.siddha@...el.com>
To: Yinghai Lu <yhlu.kernel@...il.com>
Cc: "Siddha, Suresh B" <suresh.b.siddha@...el.com>,
"Eric W. Biederman" <ebiederm@...ssion.com>, mingo@...e.hu,
ak@...e.de, akpm@...ux-foundation.org,
linux-kernel@...r.kernel.org, "Zou, Nanhai" <nanhai.zou@...el.com>,
"Mallick, Asit K" <asit.k.mallick@...el.com>,
"Packard, Keith" <keith.packard@...el.com>
Subject: Re: [patch] x86_64, irq: check remote IRR bit before migrating level triggered irq
On Fri, May 18, 2007 at 11:28:25AM -0700, Yinghai Lu wrote:
> On 5/18/07, Siddha, Suresh B <suresh.b.siddha@...el.com> wrote:
> >
> > If the vector number stays same during irq migration and if we reset remote
> > IRR bit using the above method(edge and then back to level) during
> > irq migration, then we have a problem. A new interrupt arriving on a new
> > cpu will set the remote IRR bit and now the old inflight EOI broadcast
> > reaches IOAPIC RTE(resetting the remote IRR bit, because the vector in the
> > broadcast msg is same), while the kernel code still assumes that the remote
> > IRR bit is still set. This will lead to more problems and issues.
>
> coud add some line __assign_irq_vector. to make sure old_vector!=vector.
hmm..
what happens when there is second(and very quick) irq migration which brings the
irq back to old cpu(or to a third cpu) with old vector.
Point is, we are not taking care of the inflight messages(which can perhaps,
theoretically, can get delayed for long time)
thanks,
suresh
-
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