Subject: Re: port-xen/29999: ctrl_if_interrupt IPL problem
To: None <port-xen-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
List: netbsd-bugs
Date: 04/19/2005 00:08:02
The following reply was made to PR port-xen/29999; it has been noted by GNATS.

From: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
To: bouyer@antioche.eu.org
Cc: gnats-bugs@NetBSD.org, port-xen-maintainer@NetBSD.org,
	gnats-admin@NetBSD.org, netbsd-bugs@NetBSD.org
Subject: Re: port-xen/29999: ctrl_if_interrupt IPL problem
Date: Tue, 19 Apr 2005 09:06:57 +0900

 hi,
 
 > We could move __ctrl_if_tx_tasklet() to run from the softintr. This would
 > fix the wakeup issue.
 > For softintr_schedule(), we could probably use IPL_SOFTXENEVT instead of
 > IPL_SOFTNET, and call ctrl_if_softintr_handler() from the assemby code
 > instead. This should take care of the issue.
 
 you mean (ab)using softintr() as xenevt does?  i think it should work.
 
 (although i'm not entirely happy with how xenevt works,
 making hacks similar is a good thing :-)
 
 > IPL_CTRL needs to be very high because the console I/O is done though
 > control messages on guest domains, and there's no way to poll for keyboard
 > input. So, to get ddb working in guest domains, we need to have control
 > events enabled while in ddb.
 
 "keyboard input" meant "console input"?
 
 > I guess we could also be busy-looping waiting for the event, but it
 > would not be nice to other guests domains.
 
 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.
 
 YAMAMOTO Takashi