Subject: Re: port-xen/29999: ctrl_if_interrupt IPL problem
To: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: netbsd-bugs
Date: 04/19/2005 09:06:54
On Tue, Apr 19, 2005 at 02:51:22AM +0100, Christian Limpach wrote:
> >if there's a way to poll events (i couldn't find any),
> >i think it's better to use it because ddb needs to do busy-loop anyway.
> 
> I think it should work to do HYPERVISOR_block calls in the loop. 
> HYPERVISOR_block will return as soon as there are any (unmasked) events 
> pending and then one could call the control message handler from the loop 

Ha, I didn't know HYPERVISOR_block(). I'll experiment with that.
Thanks !

> --  you might have entered the debugger at a bad moment where the control 
> message handling is in an inconsistent state, but there's not much you can 
> do about that.

There is also the issue that we may receive control message for something
else than the console. As all but console use CALLBACK_IN_BLOCKING_CONTEXT
they will be queued up, but eventually the ring will overflow.

> At some point, we will move the console I/O into a seperate 
> shared page, having it shared with the control messages is just too 
> inconvenient.

Sure ! :)

-- 
Manuel Bouyer <bouyer@antioche.eu.org>
     NetBSD: 26 ans d'experience feront toujours la difference
--