Subject: Re: panic: ubc_init: failed to map ubc_object
To: Rafal Boni <rafal@mediaone.net>
From: Chuck Silvers <chuq@chuq.com>
List: current-users
Date: 03/20/2001 11:35:20
hi,
oops... yup, you've got it right on. I'll change the pmaps to use
ubc_winshift instead of ubc_winsize. if we just initialize ubc_winsize
from UBC_WINSHIFT in its definition then people would have to patch both
variables if they wanted to override the default size.
thanks,
-Chuck
On Tue, Mar 20, 2001 at 01:58:33PM -0500, Rafal Boni wrote:
> 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