From owner-freebsd-current Thu Apr 4 11: 5:33 2002 Delivered-To: freebsd-current@freebsd.org Received: from beppo.feral.com (beppo.feral.com [192.67.166.79]) by hub.freebsd.org (Postfix) with ESMTP id 167D937B405 for ; Thu, 4 Apr 2002 11:05:22 -0800 (PST) Received: from mailhost.feral.com (mjacob@mailhost.feral.com [192.67.166.1]) by beppo.feral.com (8.11.3/8.11.3) with ESMTP id g34J56f78998; Thu, 4 Apr 2002 11:05:06 -0800 (PST) (envelope-from mjacob@feral.com) Date: Thu, 4 Apr 2002 11:05:06 -0800 (PST) From: Matthew Jacob X-Sender: mjacob@beppo Reply-To: mjacob@feral.com To: Andrew Gallatin Cc: freebsd-current@freebsd.org Subject: Re: BUS_SPACE_MAXSIZE & isp driver. In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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