Subject: Re: port-xen/29999: ctrl_if_interrupt IPL problem
To: None <bouyer@antioche.eu.org>
From: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
List: netbsd-bugs
Date: 04/19/2005 09:06:57
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