Subject: Re: panic: ubc_init: failed to map ubc_object
To: None <current-users@netbsd.org, chs@netbsd.org>
From: Rafal Boni <rafal@mediaone.net>
List: current-users
Date: 03/20/2001 13:58:33
In message <200103200803.DAA11916@doppelganger.waterside.net>, I wrote: 

-> 	Has anything in UVM/UBC changed recently that could be related
-> 	to the above panic?  I CVS updated my tree ~ 7pm EST on 3/19 and
-> 	now my Indigo2 panics there (not that the SGImips kernel did a
-> 	whole lot more than that, but now it's totally useless).
-> 
-> 	I haven't updated my x86 box, so this could be MIPS/SGI specific,
-> 	but I figured I'd ask, go to bed and then hope answers arrive while
-> 	I snooze.

It seems this is related to the change from `ubc_winsize' to `ubc_winshift'.
The MIPS pmap module sizes the virtual space as follows:

	start = VM_MIN_KERNEL_ADDRESS;
	end   = VM_MIN_KERNEL_ADDRESS + Sysmapsize * NBPG;

    where:
	Sysmapsize = (VM_PHYS_SIZE + ubc_nwins * ubc_winsize + 
		nbuf * MAXBSIZE + 16 * NCARGS + PAGER_MAP_SIZE) / NBPG + 
		(maxproc * UPAGES) + nkmempages;

*However*, when Sysmapsize is calculated, `ucb_winsize' is still zero (as
UBC init runs much later and it's not set until ubc_init()).  

I imagine the easiest thing is to just initialize ubc_winsize from 
ubc_winshift in uvm_bio.c... Was this not done for some reason other
than forgetting to do it or overlooking it?

The other option (which seems like a lot of work for little gain), is 
to purge ubc_winsize totally from the tree, but it certainly looks like
this is not what Chuq intended (since it's used often even in uvm_bio.c).

Thoughts?
--rafal

----
Rafal Boni                                                  rafal@mediaone.net