xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
	Keir Fraser <keir@xen.org>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	Ian Campbell <Ian.Campbell@citrix.com>, Tim Deegan <tim@xen.org>
Subject: Re: [PATCH 2/2] hvmloader: Allow the toolstack to choose WAET optimisations
Date: Wed, 27 Nov 2013 12:14:58 +0000	[thread overview]
Message-ID: <5295E242.1020701@citrix.com> (raw)
In-Reply-To: <5295D16A02000078001076F6@nat28.tlf.novell.com>

On 27/11/13 10:03, Jan Beulich wrote:
>>>> On 26.11.13 at 21:39, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> @@ -196,8 +201,35 @@ static struct acpi_20_waet *construct_waet(void)
>>      memcpy(waet, &Waet, sizeof(*waet));
>>  
>>      waet->header.length = sizeof(*waet);
>> +
>> +    s = xenstore_read("platform/waet-rtc-noack", NULL);
>> +    if ( s )
>> +    {
>> +        if ( !strncmp(s, "1", 1) || !strncmp(s, "true", 4) )
>> +            waet->flags |= ACPI_WAET_RTC_NO_ACK;
>> +        else
>> +            waet->flags &= ~ACPI_WAET_RTC_NO_ACK;
>> +    }
>> +
>> +    s = xenstore_read("platform/waet-pm-reliable", NULL);
>> +    if ( s )
>> +    {
>> +        if ( !strncmp(s, "1", 1) || !strncmp(s, "true", 4) )
>> +            waet->flags |= ACPI_WAET_TIMER_ONE_READ;
>> +        else
>> +            waet->flags &= ~ACPI_WAET_TIMER_ONE_READ;
>> +    }
> Nothing in this series really allows these to be easily controlled on a
> per-domain basis - I would have expected a config file flag...
>
> And for this second one, as hinted at in your overview mail, I
> don't really see what purpose the controlling here serves: You
> don't consume the setting, i.e. the sole effect is that of
> controlling the ACPI table's flag value. Yet if we're fine with
> the guest doing single reads (of whatever), then we're surely
> fine too with it doing double reads. And hence the flag can
> easily be always set (as it was till now).
>
> If any second override was to be considered, I'd recommend
> on controlling the presence of the WAET as a whole.
>
> Jan
>

The setting is consumed using

+    /* Inform Xen which RTC mode has been chosen */
+    p.value = !!(waet->flags & ACPI_WAET_RTC_NO_ACK);
+    hypercall_hvm_op(HVMOP_set_param, &p);

Which changes the behaviour of rtc_mode_is(s, mode) in Xen.

The presence (or lack thereof) of the WAET table does not address the problem at hand, which is that Xen's current logic of trying to guess what the guest is doing WRT RTC is wrong. It causes the guest to fall into an infinite loop expecting standards compliment behaviour, where Xen has decided that the guest has moved to the optimised behaviour.

~Andrew

  reply	other threads:[~2013-11-27 12:15 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-26 20:39 [PATCH RFC 0/2] Fix RTC noack issues Andrew Cooper
2013-11-26 20:39 ` [PATCH 1/2] x86/vRTC: Make rtc_mode_{strict, no_ack} a per-domain option Andrew Cooper
2013-11-27  9:55   ` Jan Beulich
2013-11-28 10:45     ` Tim Deegan
2013-11-26 20:39 ` [PATCH 2/2] hvmloader: Allow the toolstack to choose WAET optimisations Andrew Cooper
2013-11-27 10:03   ` Jan Beulich
2013-11-27 12:14     ` Andrew Cooper [this message]
2013-11-27 12:56       ` Jan Beulich
2013-11-27 12:58         ` Andrew Cooper
2013-11-29  9:53   ` Ian Campbell
2013-11-29  9:55   ` Ian Campbell
2013-11-29 10:57     ` Andrew Cooper
2013-11-29 11:01       ` Ian Campbell

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=5295E242.1020701@citrix.com \
    --to=andrew.cooper3@citrix.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=JBeulich@suse.com \
    --cc=keir@xen.org \
    --cc=tim@xen.org \
    --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 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).