Subject: Re: Crash with vnd
To: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: port-xen
Date: 04/12/2005 16:50:14
On Tue, Apr 12, 2005 at 07:53:42PM +0900, YAMAMOTO Takashi wrote:
> hi,
> 
> > This needs to be fixed in some way. I can see
> > - extend the interrupt bitmap. But even if we go with 2 32bit bitmaps, it may
> >   still not be enouth, and needs some x86 assembly hacking.
> >   We can go with a 2 level bitmap, just like we have for events,
> >   but then we'd probably have an issue with IPLs. This needs more thoughs.
> > - share interrupts for different events of the same IPL. Easier to implement
> >   but doens't scale well.
> 
> i prefer the intermediate.  ie.
> 	- have more intrsources. (maybe up to number of event channels?)
> 	- keep bitmaps (ipending, masks) 32-bit but share bits in them
> 	  between intrsources.
> 
> in this way,
> 	- when the interrupt is not blocked (a common path),
> 	  you only need to traverse handlers associated to the intrsource.
> 	- you can keep to use 32-bit operations for splfoo()/splx(),
> 	  which should be fast because they are frequently used.

Yes, this is a good idea. Shouldn't be too hard to implement, I'll have a look
soon.

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