Subject: Re: "failed to map ubc_object" panic on CATS (Re: IDE Breakage in 1.5: false alarm? )
To: Anders Magnusson <ragge@ludd.luth.se>
From: Chuck Silvers <chuq@chuq.com>
List: port-arm32
Date: 02/11/2001 07:20:00
PAGER_MAP_SIZE limits the amount of simultaneous in-flight pagecache
and swap i/o (and maybe some other kinds, I forget what all uses pager_map).
on slower or smaller platforms it's fine to reduce it.

changing the device i/o interfaces to allow i/o to unmapped memory
on systems which do physically-addressed DMA is something I'm planning
on doing eventually, but I haven't started yet.

-Chuck


On Fri, Feb 09, 2001 at 10:15:09PM +0100, Anders Magnusson wrote:
> The pager_map would be real nice to avoid. On a VAX the default 
> PAGER_MAP_SIZE steals 128k of physical pre-allocated memory, not good. 
> That would probably be easy to get around on archs that can address
> the physical memory, but due to comments in uvm_pager.h it seems as 
> someone is working on making I/O to work on physical pages rather than
> on virtual.
> 
> Who is working on this and what is the status?
> 
> -- Ragge
> 
> > PAGER_MAP_SIZE is already kinda small on arm32, but you could try
> > reducing it from 4MB to 2MB and see if that will let you boot.
> > reducing the number of bufs is probably a better way to go,
> > but I don't know how many bufs you have now.
> > 
> > looking briefly at the arm32 pmap_bootstrap(), I don't see anything
> > equivalent to the problem the mips had.
> > 
> > the best option would be to enlarge the kernel's address space,
> > but that's also the most complicated.
> > 
> > how can I acquire one of these CATS doodads?
> > if I had one then I could help fix these kinds of problems...
> > 
> > -Chuck
> > 
> > 
> > On Fri, Feb 09, 2001 at 10:30:29PM +0900, Izumi Tsutsui wrote:
> > > (moved to port-arm32)
> > > 
> > > In <200102081910.f18JA0i29279@trigati.home.net>
> > > mpumford@black-star.demon.co.uk wrote:
> > > 
> > > > > My CATS uses the M5229 pciide chipset and I also got UDMA errors.
> > > > > I have made some patches but -current CATS kernel cannot boot because of
> > > > > "panic: ubc_init: failed to map ubc_object." Sigh..
> > > > >
> > > > You are running out of VM space in the kernel. You have two choices.
> > > > 
> > > > * figure out how to rearrange memory mappings for the CATS to allow
> > > >   KERNEL_VM_SIZE to be bigger.
> > > > 
> > > > * Change PMAP_STATIC_L1S in your kernel config to a smaller value (or reduce 
> > > >   maxproc)
> > > 
> > > I reduce PMAP_STATIC_L1S=64 from 128, but the kernel still
> > > does not boot. How many value is recommended?
> > > (My CATS has 96MB RAM)
> > > 
> > > > If the comment in vmparam.h is to be believed there is no reason why 
> > > > KERNEL_VM_SIZE could not be increased on the CATS anyway. There are some 
> > > > patches which resolve the issue for the Risc PC/A7000 in PR12119.
> > > 
> > > I see the problem is lack of kernel VM space,
> > > but what is proper solution? Increase KERNEL_VM_SIZE?
> > > Reduce VM_MAX_KERNEL_BUF or PAGER_MAP_SIZE?
> > > or something other?
> > > 
> > > I heard mips had the similar problem and it was caused
> > > by lack of number of PTE.
> > > ---
> > > Izumi Tsutsui
> > > tsutsui@ceres.dti.ne.jp
> >