From: "Mike Nordell" <tamlin@algonet.se>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Win2k mouse
Date: Wed, 14 Apr 2004 22:36:51 +0200 [thread overview]
Message-ID: <002801c42260$67c56110$0401a8c0@putte2k> (raw)
Hetz Ben Hamo wrote:
> Mike Nordell has send a keyboard/mouse fix for win2k as a guest,
> but I only see keyboard fix in the CVS.
Actually, the fix wasn't specifically for win2k guest. It was a deadlock
that would most probably have occured in any guest OS having both mouse and
keyboard input.
The problem was that (PS/2) mouse input was given priority when QEMU came to
choose between mouse and keyboard interrupts to report to the CPU, but when
the guest was reading I/O port 0x60 the keyboard queue had priority. Imagine
the deadlock when both mouse and keyboard messages were pending. :-)
The easiest way to see this bug in action was by grabbing the mouse and then
alt-tab (or whatever the kbd shortcut for switching to another window is in
your environment) to another window. Voila. Instant guest input lock.
I've got a feeling, though not yet any strong evidence, that since QEMU PC
emulation is yet so incomplete (it's basically like a 386 PC, with a 686
CPU) NT switches to some safety-mode for a lot of stuff. This could
potentially involve a lot of switching between protected mode and v86 mode,
which would slow down the emulation as seen. It's btw not only mouse - try
starting the Task Manager in the guest and watch the CPU pegged while
running it. Close that one and start PerfMon. Add e.g. interrupts/s or DPC
time or... anything. The numbers are off the chart (probably NT can't even
get them, but it might also be they are so insanely high they can't be
trusted), but it's no longer pegging the CPU (you'll notice it's no longer
using all available host CPU).
I'm right now on my way to add some profiling code to QEMU to see what's
going on in this area. While NT as guest behaves like this, just booting it
is a test of patience why it might take some days before I get any real
numbers.
/Mike
next reply other threads:[~2004-04-14 20:38 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-04-14 20:36 Mike Nordell [this message]
2004-04-15 8:52 ` [Qemu-devel] Win2k mouse Jean-Michel POURE
2004-04-15 9:37 ` Lionel Ulmer
2004-04-15 11:28 ` Brad Campbell
2004-04-15 11:51 ` Jean-Michel POURE
2004-04-15 13:48 ` Mike Nordell
2004-04-15 13:44 ` Mike Nordell
2004-04-15 18:31 ` Lionel Ulmer
2004-04-15 20:21 ` Lionel Ulmer
2004-04-16 3:54 ` Mike Nordell
2004-04-16 16:33 ` malc
2004-04-16 17:30 ` [Qemu-devel] sound issue Hetz Ben Hamo
-- strict thread matches above, loose matches on Subject: below --
2004-04-14 8:49 [Qemu-devel] Win2k mouse Jean-Michel POURE
2004-04-14 11:11 ` Hetz Ben Hamo
2004-04-14 20:17 ` Fabrice Bellard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='002801c42260$67c56110$0401a8c0@putte2k' \
--to=tamlin@algonet.se \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).