Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Apr 2002 11:05:06 -0800 (PST)
From:      Matthew Jacob <mjacob@feral.com>
To:        Andrew Gallatin <gallatin@cs.duke.edu>
Cc:        freebsd-current@freebsd.org
Subject:   Re: BUS_SPACE_MAXSIZE & isp driver.
Message-ID:  <Pine.BSF.4.21.0204041104570.78599-100000@beppo>
In-Reply-To: <Pine.BSF.4.21.0204041058010.78599-100000@beppo>

next in thread | previous in thread | raw e-mail | index | archive | help

Oops. That wasn't it. Taking this offline.


On Thu, 4 Apr 2002, Matthew Jacob wrote:

> 
> Actually, I suppose if you change:
> 
> 
> 	#define ISP_NSEG        ((MAXPHYS/PAGE_SIZE) + 1)
> 
> to
> 
> 	#define ISP_NSEG        ((BUS_SPACE_MAXSIZE/PAGE_SIZE) + 1)
> 
> this will probably be more correct. I think this is probably what I should be
> using anyway.
> 
> BTW- this was more of a 'hackers' or 'scsi' issue.
> 
> I *used* to, btw, put a massively large number for segments- basically the max
> *should* be the number of segments I can stick in a single Request Queue
> (2 or 3) command plus all the continuation entries possible (5 or 7 per
> continuation entries, for FreeBSD ~250 or so- MMV depending on current state)-
> that'd be on the order of ~1800 segments.
> 
> After getting burned by some surprises in the sparc64 implementation, I
> decided to restrict it to paramaters that were compile time invariants for
> each platform. I guess I picked the wrong parameter :-).
> 
> -matt
> 
> 
> On Thu, 4 Apr 2002, Andrew Gallatin wrote:
> 
> > 
> > I just booted a recent current (or rather attempted to) and saw this
> > when attempting to mount root from a qlogic card on my miata:
> > 
> > 
> > bus_dmamap_load: Too many segs! buf_len = 0x2000
> > spec_getpages:(da0a) I/O read failure: (error=22) bp
> > 0xfffffe0004087ae8 vp 0xfffffe000ae90000
> >                size: 98304, resid: 98304, a_count: 98304, valid: 0x0
> >                nread: 0, reqpage: 7, pindex: 59, pcount: 12
> > vm_fault: pager read error, pid 1 (init)
> > 
> > <... more of same ...>
> > 
> > The only way I could get the system to boot was to increase
> > BUS_SPACE_MAXSIZE to 128K to match MAXPHYS.  I don't know why they
> > don't match in the first place (they don't match on x86 either, so the
> > driver will probably puke there too.)
> > 
> > #define BUS_SPACE_MAXSIZE    (128 * 1024)
> > 
> > Does anybody know why BUS_SPACE_MAXSIZE != MAXPHYS on some platforms?
> > 
> > Thanks,
> > 
> > Drew
> > 
> 
> 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0204041104570.78599-100000>