Subject: Re: Still unable to compile a working kernel on NoName.
To: Jason Thorpe <thorpej@nas.nasa.gov>
From: Michael Graff <explorer@flame.org>
List: port-alpha
Date: 07/31/1997 04:28:27
Jason Thorpe <thorpej@nas.nasa.gov> writes:
> Well, seems like everyone else is having a _very_ hard time reproducing
> this problem...
Yea, I know... Sucks to be me. :)
> ...and you're not giving us much to go on :-) There isn't a kmem_suballoc()
> call anywhere near line 740 of machdep.c. That line is in identifycpu().
This is what I have at line 740:
/*
* Allocate virtual address space for file I/O buffers.
* Note they are different than the array of headers, 'buf',
* and usually occupy more virtual memory than physical.
*/
size = MAXBSIZE * nbuf;
--> buffer_map = kmem_suballoc(kernel_map, (vm_offset_t *)&buffers,
&maxaddr, size, TRUE);
minaddr = (vm_offset_t)buffers;
if (vm_map_find(buffer_map, vm_object_allocate(size), (vm_offset_t)0,
&minaddr, size, FALSE) != KERN_SUCCESS)
panic("startup: cannot allocate buffers");
That looks like a call to kmem_suballoc() to me! :) Also, I placed a
printf directly below the call to kmem_suballoc and one above it. The
one above it did print, the one below did not.
> How far into kmem_suballoc() does it get?
>
> printf() is your friend :-)
That's how I found the bug in the first place :)
BTW, I have not increased NBUF intentionally:
explorer@kechara:/sys/arch/alpha/conf> grep NBUF GESTEN
explorer@kechara:/sys/arch/alpha/conf>
I have traced the lockup to vm_map_create() currently. My _guess_ is
that it is locking on the MALLOC call in there... I'm adding printfs
now and will followup once it compiles and I try it.
--Michael