Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: NetBSD xen dom0 kernel panic



On Thu, Mar 19, 2009 at 6:27 PM, Manuel Bouyer 
<bouyer%antioche.eu.org@localhost> wrote:
> On Thu, Mar 19, 2009 at 02:16:06PM -0400, Peter wrote:
>> I am not certain of this, but I think the bridge code calls
>> bridge_rtupdate from interrupt contexts and I know I suggested in an
>> earlier email that calls to this be put on a soft interrupt queue.
>> bridge_rtupdate calls pool_get which calls rumpuser_malloc which, I'm
>> guessing here, is a malloc call.
>
> No, pool_get() doesn't call rumpuser_malloc() in the kernel. It does when
> it's built in the userland library (which of course is never called
> from interrupt context, as it's userland)
>
> --
> Manuel Bouyer <bouyer%antioche.eu.org@localhost>
>     NetBSD: 26 ans d'experience feront toujours la difference
> --
>


Thanks, I had wondered at the name.  I saw it in rumpkern, but now I
see there's another pool_get.  My mistake.

I'm curious though whether the bridge stuff was recently broken or if
it ever worked?  I assume that the bridge should be called from
netinet/ip_output but isn't because it only works for ethernet because
ethernet has the spanning tree code.  So, again please correct me if
I'm wrong, I'm quite new to this, but I assume that no one has fixed
the bridge code because the spanning tree stuff has to be made more
generic and that's probably hairier than shifting a few calls around.
So someone is saving the bridge code for after the spanning tree code
is changed to allow a full capability bridge.

Would it be possible to move the bridge calls into ip_output but
temporarily force it to be ethernet only, saving altering the spanning
tree stuff for another project while fixing the lock errors for right
now?  And then is this worth my time or is someone else working on the
whole thing or would I be completely out of my depth?"

Peter


Home | Main Index | Thread Index | Old Index