[parisc-linux] lasi scsi driver

Jerry Huck jerry_huck@hp.com
Tue, 7 Mar 2000 11:33:09 -0800 (PST)


> Date: Sun, 5 Mar 2000 19:46:52 +0100
> From: Philipp Rumpf <prumpf@inwestnet.de>
> To: huck@cup.hp.com
> Subject: Re: [parisc-linux] lasi scsi driver

> > While the PA-RISC processor architecture supports the notion of a
> > non-cacheable page, most HP memory systems do not - certainly not the
> > most recent memory systems.
> 
> Can you give us a concrete list of broken memory systems ?

Unfortunately not, since these memory systems weren't broken wrt
the architecture, I didn't keep track of this feature.  We really need
some interesting combination of memory system and I/O adapter coherence
capability.  Grant has posted much more on this than I know.

> > If you set the U-bit on a main memory page and then reference the page,
> > the processor will emit a sub-cacheline transaction and the memory system
> > will do something bad (probably HPMC).
> 
> So there is a sub-cacheline transaction on Runway but current memory
> controllers don't implement it ?

Yes.  The bus interface doesn't know the distinction between I/O accesses
and main memory.  The processor relies on "F" extension and/or the U-bit
to sort out how to treat an address dereference.  Sub-cacheline transactions
are the normal memory-mapped I/O transactions.

> > So don't ever get in the situation where you need uncacheable main memory.
> 
> uncacheable main memory is the only sane way to deal with cache-incoherent
> DMA - macros to flush the cache are both slower and harder to add to drivers
> written with the assumption that dma is cache-coherent.

The architecture was not designed to import drivers written to a
cache-coherent model.  This is not unique to PA-RISC.  Even IA-32 had
a little trouble on the first write-back caches in the 486.  While it
is not simple to convert all drivers, many drivers have a fairly clean
design that make it manageable to add the appropriate flush calls.  Some
drivers have byte granular interactions that make them impossible to
re-work.

Sorry I couldn't be more helpful with specific characteristics.

Jerry