From: Paolo Bonzini <pbonzini@redhat.com>
To: Gleb Natapov <gleb@redhat.com>
Cc: Vadim Rozenfeld <vrozenfe@redhat.com>,
kvm@vger.kernel.org, mtosatti@redhat.com, pl@dlh.net
Subject: Re: [RFC PATCH 1/2] Hyper-H reference counter
Date: Mon, 20 May 2013 10:56:22 +0200 [thread overview]
Message-ID: <5199E536.6070809@redhat.com> (raw)
In-Reply-To: <20130520084912.GQ4725@redhat.com>
Il 20/05/2013 10:49, Gleb Natapov ha scritto:
> On Mon, May 20, 2013 at 10:42:52AM +0200, Paolo Bonzini wrote:
>> Il 20/05/2013 10:36, Gleb Natapov ha scritto:
>>> On Mon, May 20, 2013 at 10:05:38AM +0200, Paolo Bonzini wrote:
>>>> Il 19/05/2013 08:37, Vadim Rozenfeld ha scritto:
>>>>> On Thu, 2013-05-16 at 16:45 +0200, Paolo Bonzini wrote:
>>>>>> Il 16/05/2013 16:26, Vadim Rozenfeld ha scritto:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Yes, I have this check added in the second patch.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>> Move it here please.
>>>>>>>>>>> OK, will do it.
>>>>>>>>>
>>>>>>>>> Or better, remove all the handling of HV_X64_MSR_REFERENCE_TSC from this
>>>>>>>>> patch, and leave it all to the second.
>>>>>>>>>
>>>>>>> What for? Could you please elaborate?
>>>>>
>>>>> To make code reviewable. Add one MSR here, the other in the second patch.
>>>>> removing HV_X64_MSR_REFERENCE_TSC will make this particular patch
>>>>> completely non-functional.
>>>>
>>>> Do you mean Windows guest will BSOD or just that they won't use the
>>>> reference TSC? If the latter, it's not a problem.
>>>>
>>> I think it is. If reference counter works without TSC we have a bisect
>>> point for the case when something will going wrong with TSC.
>>
>> Isn't that exactly what might happen with this patch only? Windows will
>> not use the TSC because it finds invalid values in the TSC page.
>
> Yes, it will use reference counter instead. Exactly what we want for a bisect point.
>
>> If it
>> still uses the reference counter, we have the situation you describe.
>>
>> refcount TSC page
>> Y Y <= after patch 2
>> Y N <= after patch 1
>> N Y <= impossible
>> N N <= removing TSC page from this patch?
>>
>> Of course if the guest BSODs, it's not possible to split the patches
>> that way. Perhaps in that case it's simply better to do a single patch.
>>
> I am not sure what you are trying to say. Your option list above shows
> that there is a value to split patches like they are split now.
Hmm, we're talking past each other. :)
I put the "?" because that's what Vadim implied ("it would make this
particular patch non-functional"), but I don't see why it should be like
this. To me, the obvious way of getting the desired bisect point is
implementing one MSR per patch. So, moving the REFERENCE_TSC handling
entirely to patch 2 would still be in the "refcount=Y, TSC page=N" case.
In any case, this patch needs more comments and a better commit message.
Microsoft docs are decent, but there are several non-obvious points in
how the patches were done, and they need to be documented.
next prev parent reply other threads:[~2013-05-20 8:56 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-13 11:45 [RFC PATCH 0/2] Hyper-V timers Vadim Rozenfeld
2013-05-13 11:45 ` [RFC PATCH 1/2] Hyper-H reference counter Vadim Rozenfeld
2013-05-13 23:30 ` Eric Northup
2013-05-14 9:46 ` Vadim Rozenfeld
2013-05-16 8:18 ` Gleb Natapov
2013-05-16 8:53 ` Vadim Rozenfeld
2013-05-14 14:14 ` Peter Lieven
2013-05-15 10:24 ` Vadim Rozenfeld
2013-05-16 8:10 ` Gleb Natapov
2013-05-16 8:34 ` Gleb Natapov
2013-05-16 9:13 ` Vadim Rozenfeld
2013-05-16 9:21 ` Gleb Natapov
2013-05-16 9:28 ` Vadim Rozenfeld
2013-05-16 13:37 ` Paolo Bonzini
2013-05-16 14:22 ` Vadim Rozenfeld
2013-05-16 14:48 ` Paolo Bonzini
2013-05-16 13:44 ` Paolo Bonzini
2013-05-16 14:26 ` Vadim Rozenfeld
2013-05-16 14:45 ` Paolo Bonzini
2013-05-19 6:37 ` Vadim Rozenfeld
2013-05-20 8:05 ` Paolo Bonzini
2013-05-20 8:36 ` Gleb Natapov
2013-05-20 8:42 ` Paolo Bonzini
2013-05-20 8:49 ` Gleb Natapov
2013-05-20 8:56 ` Paolo Bonzini [this message]
2013-05-20 9:13 ` Gleb Natapov
2013-05-20 9:25 ` Gleb Natapov
2013-05-20 9:32 ` Paolo Bonzini
2013-05-20 9:41 ` Gleb Natapov
2013-05-20 10:06 ` Peter Lieven
2013-05-20 10:25 ` Vadim Rozenfeld
2013-05-20 10:27 ` Gleb Natapov
2013-05-20 10:44 ` Vadim Rozenfeld
2013-05-20 10:21 ` Vadim Rozenfeld
2013-05-20 9:12 ` Vadim Rozenfeld
2013-05-16 14:40 ` Paolo Bonzini
2013-05-13 11:45 ` [RFC PATCH 2/2] Hyper-V iTSC handler Vadim Rozenfeld
2013-05-16 8:33 ` Gleb Natapov
2013-05-16 8:58 ` Vadim Rozenfeld
2013-05-16 8:02 ` [RFC PATCH 0/2] Hyper-V timers Gleb Natapov
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=5199E536.6070809@redhat.com \
--to=pbonzini@redhat.com \
--cc=gleb@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@redhat.com \
--cc=pl@dlh.net \
--cc=vrozenfe@redhat.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.