Re: [Linux-ia64] Re: [PATCH] early machvec init for 2.5

From: Jesse Barnes <jbarnes_at_sgi.com>
Date: 2003-06-05 09:44:45
On Wed, Jun 04, 2003 at 04:38:50PM -0700, Grant Grundler wrote:
> On Wed, Jun 04, 2003 at 10:00:54AM -0700, Jesse Barnes wrote:
> > We've seen problems with a number of devices, especially ones that
> > signal a DMA completion in a register that the driver uses read to
> > access.
> 
> Can you tell me which device(s) this is?
> (Just want to document for future reference)

qla2200 can do things this way...  There are more too--IDE comes to mind
as well as an audio chip someone I know was messing with.

> So far, I'm only aware of tulip not sending an interrupt
> to signal a DMA completion (when it's really busy the driver
> might handle more RX packets than it got the interrupt for).

It's more of an issue when an interrupt handler checks to see if more
requests are 'done' (other than the one indicated by the interrupt) by
doing a PIO read.  The device thinks the DMA transaction is complete, so
it sets its local status register to indicate as much, and the read of
that register can arrive at the CPU before the DMA and...

> Could SGI continue maintaining this in their own tree until the problem
> gets solved in HW?

I'd _really_ rather not since we already have quite a bit of this hw out
there already, and the new hardware won't replace it since it's not
really a 'bug', but rather a design choice.  Have you done measurements
that indicate that the read machine vector (or any machine vector for
that matter) incurs a significant overhead?

> The "transient" nature of the problem combined with the number of people
> with a SN2 suggest it might be best to make this a CONFIG_ option.
> And I'd guess the RHAS/SuSE install CD's work well enough such that
> one can install newer kernel+modules+initrd from SGI before hitting
> this problem.

Not necessarily.  And making it a seperate CONFIG_ option would mean
that CONFIG_IA64_GENERIC kernels would have weird, hard to track down
bugs and data corruption on sn2.  If people want tuned kernels, they
should buld one with CONFIG_IA64_SGI_SN2 or CONFIG_IA64_HPZX1 or
whatever.

Thanks,
Jesse
Received on Wed Jun 04 19:29:00 2003

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:15 EST