From: Marcelo Tosatti <mtosatti@redhat.com>
To: Roland Dreier <rdreier@cisco.com>
Cc: kvm-devel <kvm@vger.kernel.org>
Subject: Re: Fresh install of Windows XP hangs early in boot?
Date: Tue, 29 Jul 2008 19:57:34 -0300 [thread overview]
Message-ID: <20080729225734.GA15606@dmt.cnet> (raw)
In-Reply-To: <adaej5c2vx5.fsf@cisco.com>
On Tue, Jul 29, 2008 at 03:00:06PM -0700, Roland Dreier wrote:
> > Known problem:
> > http://www.nabble.com/LSI:-avoid-infinite-loops-p17116605.html
>
> > Windows driver has scripts code which busy loops on main memory. Since
> > that executes in vcpu context, the cpu won't ever get a chance to change
> > the variable which the SCSI emulation is looping at.
>
> Thanks Marcelo (and Alberto) for pointing me at this.
>
> > The proposed hack, however, is half-assed (see Paul Brook's comments on
> > that thread).
>
> I'd be willing to take a stab at a better fix.
Awesome! That would be very welcome. It is quite important for
better-than-IDE performance with Windows guests.
> Is there any documentation about the lsi microcode engine anywhere?
http://www.lsi.com/files/docs/techdocs/storage_stand_prod/SCSIControllers/56_3.pdf
> Would the right fix to be to detect the busy loop on CPU memory and
> return from lsi_execute_script() in that case?
Detect the busy loop, interrupt script execution but guaranteeing that
it will continue (by starting a timer to restart execution some time in
the future, for example).
The tricky part is that in between, SCRIPTS execution could have been
restarted by the guest via PIO/MMIO, or by an I/O completion event, so
proper synchronization is needed.
The hack I did relied on the driver to restart execution by Signal
Process command (SIGP), but its possible that such command would never
be sent (as Paul Brook mentions in the thread).
> BTW I tried using if=ide to install Windows XP and got a blue screen
> during the installer. What are people doing to run XP in a kvm guest?
Are you using a recent version of kvm-userspace/kernel modules? Please
save the blue screen and mail it to the list or fill a bug.
Thanks
next prev parent reply other threads:[~2008-07-29 22:58 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <aday73k34zw.fsf@cisco.com>
2008-07-29 19:08 ` Fresh install of Windows XP hangs early in boot? Roland Dreier
2008-07-29 19:39 ` Roland Dreier
2008-07-29 21:02 ` Alberto Treviño
2008-07-29 21:23 ` Marcelo Tosatti
2008-07-29 22:00 ` Roland Dreier
2008-07-29 22:57 ` Marcelo Tosatti [this message]
2008-07-30 1:14 ` Marcelo Tosatti
2008-07-30 5:25 ` Roland Dreier
2008-07-30 3:27 ` Roland Dreier
2008-07-30 4:32 ` Alberto Treviño
2008-07-30 7:14 ` Chris Lalancette
2008-07-30 14:55 ` Roland Dreier
2008-07-30 15:13 ` Avi Kivity
2008-07-30 5:27 ` Roland Dreier
2008-07-31 19:34 ` Marcelo Tosatti
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=20080729225734.GA15606@dmt.cnet \
--to=mtosatti@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=rdreier@cisco.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.