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 14:57:14
On Tue, Apr 19, 2005 at 01:53:34PM +0100, Christian Limpach wrote:
> On Tue, Apr 19, 2005 at 02:45:02PM +0200, Manuel Bouyer wrote:
> > On Tue, Apr 19, 2005 at 01:38:10PM +0100, Christian Limpach wrote:
> > > > Will HYPERVISOR_block() return when there is an event pending, even if
> > > > evtchn_upcall_mask is nonzero ?
> > > 
> > > yes, HYPERVISOR_block() will reenable events in a race-free manner, i.e.
> > > you want to call HYPERVISOR_block() with events disabled and it will return
> > > immediately if there are already pending events.
> > 
> > ha, but events will be reenabled (evtchn_upcall_mask will be reset to 0),
> > right ? If so we can't really run in complete polling mode ...
> 
> yes.  I think it would work to keep the spl high and then check the
> interrupt line for control messages.

Maybe. I'll experiment with this

--
Manuel Bouyer, LIP6, Universite Paris VI.           Manuel.Bouyer@lip6.fr
     NetBSD: 26 ans d'experience feront toujours la difference
--