Subject: Re: Getting "si_dma_alloc: excessive xlen=0x10000" error
To: None <thorpej@nas.nasa.gov>
From: Gordon W. Ross <gwr@mc.com>
List: port-sun3
Date: 12/11/1996 11:38:27
> From: Jason Thorpe <thorpej@nas.nasa.gov>
> Date: Tue, 10 Dec 1996 16:29:41 -0800

> On Tue, 10 Dec 1996 14:42:00 -0800 
>  "J.T. Conklin" <jtc@cygnus.com> wrote:
> 
>  > Jason Thorpe suggested that this might be related to the MAXBSIZE
>  > change.  I'm rebuilding a kernel now..., so we'll soon see.
> 
> ...and it turns out that it is.  This is because minphys() isn't
> called for transfers from the buffer cache, and aggressive clustering
> gives us MAXBSIZE transfers ...

That seems inconsistent to me.

> Two options, really:
> 
> 	(a) Make buffer cache transfers get minphys()'d, or
> 
> 	(b) teach the si driver how to segment these.

Many drivers will have constraints on the transfer size they can
support, so it makes sense to me that drivers should be able to
tell the common code what max. transfer size to use in requests.
(Do transfer split-up in common code instead of in N drivers...)

Therefore, I prefer (a) above.

Gordon