All of lore.kernel.org
 help / color / mirror / Atom feed
From: George Dunlap <george.dunlap@eu.citrix.com>
To: Tim Deegan <tim@xen.org>
Cc: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Eddie Dong <eddie.dong@intel.com>,
	Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>,
	Jan Beulich <JBeulich@suse.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: Bug: Windows 2003 fails to install on xen-unstable tip
Date: Thu, 25 Apr 2013 17:40:56 +0100	[thread overview]
Message-ID: <51795C98.4050909@eu.citrix.com> (raw)
In-Reply-To: <20130425163426.GG37678@ocelot.phlegethon.org>

On 04/25/2013 05:34 PM, Tim Deegan wrote:
> At 17:02 +0100 on 25 Apr (1366909369), Jan Beulich wrote:
>>>>> On 23.04.13 at 12:38, George Dunlap <george.dunlap@eu.citrix.com> wrote:
>>> On 23/04/13 11:25, Jan Beulich wrote:
>>>> Just to double check - could you comment out entirely the first
>>>> (normal code, i.e. not the one marked //todo?) "else if" in
>>>> rtc_periodic_interrupt() (including its body of course)? I would
>>>> expect this to not make a difference, and if so I don't see how
>>>> Windows expects to be woken up again (I would guess that
>>>> they internally have some gating logic preventing the normal IRQ8
>>>> handling to happen, yet of course we don't know what would
>>>> reset that state).
>>>
>>> In fact, when I comment out that region, then it hangs in the guest BIOS
>>> before even attempting to boot the CD.
>>
>> That's due to a different issue, that I meanwhile found a fix for
>> (caused by the general vpt code expecting interrupts to be
>> delivered, yet the BIOS doesn't enable the interrupt, and hence
>> the RTC periodic timer doesn't get advanced to the next tick,
>> and it having an earlier expiration time than the PIT one prevents
>> pt_update_irq() to pick that one up for processing).
>
> How inconvenient - I had been solving the same problem today.  Yes, if
> rtc_periodic_interrupt() doesn't actually inject an interrupt, the vpt
> code needs to know so it can increment the timer.
>
>> With that fixed and the mentioned code block removed, things
>> work as I had expected. But the logging that I added in the
>> course of all this shows that it really juts happens to work,
>> I can't really explain why (other than the myriads of superfluous
>> interrupts attempted to be injected into the guest keeping the
>> VM alive). In particular, almost none of the injected IRQs
>> actually reach their handler (there are only very few REG_C
>> reads), but the handler also doesn't do anything really
>> interesting (i.e. we don't actually need the handler to execute,
>> we just need to keep a flow of interrupts going into the VM).
>
> Really?  Does injecting spurious interrupts work too?  Presumably the
> handler does _something_.
>
>> Yet I did verify that the correct values get actually written
>> through vmx_inject_extint()/__vmx_inject_exception().
>>
>> So at this point I'm of the opinion that the RTC changes really
>> just exposed a completely different issue, and I'm of the opinion
>> that this is what needs fixing, not papering over it by reverting
>> the RTC stuff.
>
> On the contrary, I think this shows that the RTC/vpt/guest interactions
> are so badly understood as to merit backing the whole lot out for 4.3.
> This has been dragging on for weeks now, and AFAICS it's going to need a
> serious overhaul, plus someone manually testing all the OSes that are
> likely to be affected (i.e. the crufty old ones).

Yes, I think "first, do no harm" should be what we aim for here...

  -George

  reply	other threads:[~2013-04-25 16:40 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-16 14:22 Bug: Windows 2003 fails to install on xen-unstable tip George Dunlap
2013-04-16 14:34 ` Jan Beulich
2013-04-16 14:35   ` George Dunlap
2013-04-17  8:27     ` Jan Beulich
2013-04-17 18:13       ` George Dunlap
2013-04-18  8:13         ` Jan Beulich
2013-04-18  9:03           ` George Dunlap
2013-04-19 10:05         ` Jan Beulich
2013-04-19 10:44           ` Roger Pau Monné
2013-04-19 12:47             ` Jan Beulich
2013-04-19 13:28               ` Roger Pau Monné
2013-04-19 14:33                 ` Jan Beulich
2013-04-19 14:41                   ` Roger Pau Monné
2013-04-19 13:51               ` George Dunlap
2013-04-22 11:05                 ` Jan Beulich
2013-04-22 15:32                   ` George Dunlap
2013-04-23 10:25                     ` Jan Beulich
2013-04-23 10:38                       ` George Dunlap
2013-04-23 11:33                         ` Jan Beulich
2013-04-23 11:52                           ` George Dunlap
2013-04-23 11:57                             ` George Dunlap
2013-04-23 12:45                               ` Jan Beulich
2013-04-23 12:25                             ` Jan Beulich
2013-04-23 13:00                             ` Jan Beulich
2013-04-23 14:21                               ` George Dunlap
2013-04-23 14:43                                 ` jacek burghardt
2013-04-23 14:47                                   ` George Dunlap
2013-04-23 14:55                                 ` Jan Beulich
2013-04-23 14:57                                   ` George Dunlap
2013-04-23 15:02                                     ` Jan Beulich
2013-04-23 15:46                                       ` George Dunlap
2013-04-23 16:04                                         ` Jan Beulich
2013-04-23 16:12                                           ` George Dunlap
2013-04-23 16:30                                             ` Tim Deegan
2013-04-24 16:09                                               ` Jan Beulich
2013-04-25 16:02                         ` Jan Beulich
2013-04-25 16:34                           ` Tim Deegan
2013-04-25 16:40                             ` George Dunlap [this message]
2013-04-26  6:43                             ` Jan Beulich
2013-04-26 16:10                             ` Jan Beulich
2013-04-26 16:56                               ` Ian Campbell
2013-04-29  6:53                                 ` Jan Beulich
2013-04-29  8:20                                   ` Ian Campbell
2013-04-29  8:37                                     ` Jan Beulich
2013-04-29  8:40                                       ` Paul Durrant
2013-04-29  8:47                                         ` Jan Beulich
2013-04-29  9:15                                           ` Paul Durrant
2013-04-29  9:53                                             ` Paul Durrant
2013-04-29 10:43                                               ` Jan Beulich
2013-05-01 14:49                                           ` Paul Durrant
2013-05-02  6:32                                             ` Jan Beulich
2013-05-02  8:23                                               ` Paul Durrant
2013-04-29  8:37                                     ` Paul Durrant
2013-04-29 10:29                                     ` Tim Deegan
2013-04-29 11:07                                       ` Ian Campbell
2013-04-29 11:27                                         ` Jan Beulich
2013-04-29 11:40                                           ` Ian Campbell
2013-04-29 11:35                                         ` Tim Deegan
2013-04-29 11:42                                           ` Jan Beulich
2013-04-29 11:44                                           ` Ian Campbell
2013-04-29 11:49                                             ` Tim Deegan
2013-04-29 11:57                                               ` Ian Campbell
2013-04-29 12:01                                               ` Jan Beulich
2013-04-29  8:35                                 ` Paul Durrant
2013-04-23 10:55                       ` Tim Deegan
2013-04-16 15:24 ` Ren, Yongjie
2013-04-16 15:32   ` George Dunlap
2013-04-16 15:37     ` Tim Deegan
2013-04-16 15:56       ` George Dunlap
2013-04-18  2:21     ` Ren, Yongjie

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=51795C98.4050909@eu.citrix.com \
    --to=george.dunlap@eu.citrix.com \
    --cc=JBeulich@suse.com \
    --cc=eddie.dong@intel.com \
    --cc=roger.pau@citrix.com \
    --cc=suravee.suthikulpanit@amd.com \
    --cc=tim@xen.org \
    --cc=xen-devel@lists.xen.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 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.