Subject: Re: Crash with vnd
To: None <bouyer@antioche.lip6.fr>
From: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
List: port-xen
Date: 04/12/2005 19:53:42
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.

YAMAMOTO Takashi