Subject: Re: [PATCH 10/11][TG3]: Reduce spurious interrupts.

From: "Michael Chan" <[email-masked]>
Date: Fri, 04 May 2007 18:45:58 -0700

On Fri, 2007-05-04 at 20:42 -0400, Jeff Garzik wrote:
> Michael Chan wrote:
> > [TG3]: Reduce spurious interrupts.
> > 
> > Spurious interrupts are often encountered especially on systems
> > using the 8259 PIC mode.  This is because the I/O write to deassert
> > the interrupt is posted and won't get to the chip immediately.  As
> > a result, the IRQ may remain asserted after the IRQ handler exits,
> > causing spurious interrupts.
> > 
> > An unconditional read to flush the I/O write to force the IRQ to de-
> > assert immediately is not desirable because it impacts performance in
> > the fast path.  So we only do this after we have some indications of
> > spurious interrupts.
> > 
> > Signed-off-by: Michael Chan <[email-masked]>
> 
> hmmmm, this is a bit questionable that it needs to be here.
> 
> I think it's just a fact of life that it is important to flush certain 
> writes...
> 
> I'm not sure a driver needs to be adding code to avoid the obvious 
> solution.  It would be annoying if all drivers had code to do this.

We had a discussion about 2 years ago and David decided to remove the
I/O read to improve performance.  Since then a small number of users
have been complaining about spurious interrupts.  We can add back the
unconditional read or do this detection thing which I agree is somewhat
annoying.  David, what do you think?