R. Armiento wrote:
Couldn't there be situations where someone depends on mwait waking up
without there being an event that wakes hlt? Or are we sure qemu's hlt
will happen to wake up anyway?
Joachim Henke wrote:
Currently the Linux kernel simply uses monitor/mwait as a faster 'hlt'
replacement, so it should be "safe" there. I don't know about other
guest OSs. Anyway, I proposed this hack only as a quick "solution" for
local usage.
I realize the last version of the patch was just a "quick hack" to solve
the problem with Linux's idle function. But I just don't see how you can
postulate that mwait is not used anywhere else in the Linux kernel?
There are many kernel modules; some being closed source. And if an mwait
lurks somewhere in your kernel, you might get a really obscure breakage
that will be a pain to debug...
Problem is, at the moment I've no idea, how we could achieve this memory
monitoring in a safe and simple way in user space.
I'm trying to read up on monitor and mwait. Apparently mwait puts the
processor in low-power wait mode, waiting for a memory write in some
select area defined by monitor; and as I am new to this I'm not sure if
I have understood all sources from where such a memory write can come
from while the processor is asleep. One source, I suppose, is from other
processors in an SMP setup? Another source may be DMA? Does this mean
that it is safe to emulate wmait as hlt if neiter SMP or DMA is used?
(Qemu hardware doesn't support DMA, right?)
Rickard
_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel