From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
Paul Durrant <paul.durrant@citrix.com>,
Keir Fraser <keir@xen.org>
Subject: Re: [PATCH 0/2] Viridian MSRs
Date: Wed, 16 Oct 2013 14:36:30 +0100 [thread overview]
Message-ID: <525E965E.8000401@citrix.com> (raw)
In-Reply-To: <525E92F702000078000FB6F3@nat28.tlf.novell.com>
On 16/10/13 12:21, Jan Beulich wrote:
>>>> On 16.10.13 at 13:05, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> On 16/10/13 11:12, Jan Beulich wrote:
>>>>>> On 15.10.13 at 20:12, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>>> This set of two patches advertises 3 constant, read-only MSRs of timing
>>>> information to a viridian capable VM.
>>>>
>>>> There is an as-yet-unidentified issue when running Windows 8.1 / Server 2012r2
>>>> under Xen where it will periodically (1 in 10 attempt) appear to fall into
>>>> an
>>>> idle loop rather than schedule userspace processes (such as failing to run a
>>>> login session).
>>>>
>>>> I am still investigating the underlying cause. One possibility is an
>>>> interaction of TSC time calibration interacting poorly with the Xen
>>>> scheduler.
>>>>
>>>> Unfortunately, attempting to divine what windows is unhappy about with its
>>>> environment is rather tricky (even a BSOD would be more useful than the
>>>> current symptoms), but providing these MSRs causes Windows to prefer rdtsc
>>>> over the HPET main counter as a source of time, and 'fixes' the above issue.
>>> I'm curious whether you would have put any consideration into
>>> the growing use of Hyper-V features when available - they had
>>> to play tricks in the past to avoid using them when in fact running
>>> on Xen. In particular in the case here I'm not certain your change
>>> won't interact badly with https://lkml.org/lkml/2013/9/3/417.
>> On Xen, viridian extensions is still an opt-in feature using an hvm param.
>>
>> I don't see how this would interact badly with that change? If Linux or
>> indeed anything else is unable to tell the difference between running on
>> Xen and running on hyperV, that is a but in the guest, not a bug in Xen
>> for providing viridian according to the specification.
> Iirc the main problem originally was that the Viridian check was
> done before the Xen check (or was it with on upstream kernels
> having CONFIG_XEN disabled, which is a valid configuration and
> ought to work without a contrived check for Xen), and the Viridian
> emulation done by Xen wasn't good enough to actually run Linux
> on top.
>
> With any changes like the one here, the question ought to not
> only be whether it helps Viridian, but also whether it doesn't
> break Linux.
>
> Jan
>
I disagree. There is a perfectly good mechanism for advertising which
viridian extensions are available, which was being blindly ignored by
Linux (The specific bug was the HyperV drivers assuming a HyperV timer
without checking that it was actually present, leading to an hang when
waiting for a timer interrupt).
This is a Linux bug; Xen should not be functionally crippled because a
guest can't enumerate support correctly.
And anyway - the entire set of viridian extensions is an off-by-default,
opt-in configuration option in the first place. Anyone who decided to
try Linux with viridan can turn it off if it doesn't work.
~Andrew
next prev parent reply other threads:[~2013-10-16 13:36 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-15 18:12 [PATCH 0/2] Viridian MSRs Andrew Cooper
2013-10-15 18:12 ` [PATCH 1/2] x86/viridian: Time Reference Count MSR Andrew Cooper
2013-11-05 15:27 ` Ian Campbell
2013-10-15 18:12 ` [PATCH 2/2] x86/viridian: TSC and APIC Frequency MSRs Andrew Cooper
2013-10-16 10:12 ` [PATCH 0/2] Viridian MSRs Jan Beulich
2013-10-16 11:05 ` Andrew Cooper
2013-10-16 11:21 ` Jan Beulich
2013-10-16 13:36 ` Andrew Cooper [this message]
2013-10-16 13:52 ` Paul Durrant
2013-10-16 13:54 ` David Vrabel
2013-11-05 15:15 ` Jan Beulich
2013-11-05 15:21 ` Paul Durrant
2013-11-05 15:28 ` Jan Beulich
2013-11-05 15:17 ` Jan Beulich
2013-11-05 15:22 ` Andrew Cooper
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=525E965E.8000401@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=JBeulich@suse.com \
--cc=keir@xen.org \
--cc=paul.durrant@citrix.com \
--cc=xen-devel@lists.xenproject.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.