From: Andrew Cooper <andrew.cooper3@citrix.com>
To: "Roger Pau Monné" <roger.pau@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>, Jan Beulich <JBeulich@suse.com>,
Xen-devel <xen-devel@lists.xen.org>
Subject: Re: [PATCH 3/5] x86/time: Rework pv_soft_rdtsc() to aid further cleanup
Date: Tue, 20 Feb 2018 16:07:43 +0000 [thread overview]
Message-ID: <7efa9da1-6d52-191c-8d66-f514367fbe7d@citrix.com> (raw)
In-Reply-To: <20180220160410.eflio5njxew33flg@MacBook-Pro-de-Roger.local>
On 20/02/18 16:04, Roger Pau Monné wrote:
> On Tue, Feb 20, 2018 at 11:58:41AM +0000, Andrew Cooper wrote:
>> Having pv_soft_rdtsc() emulate all parts of an rdtscp is awkward, and gets in
>> the way of some intended cleanup.
>>
>> * Drop the rdtscp parameter and always make the caller responsible for ecx
>> updates when appropriate.
>> * Switch the function from being void, and return the main timestamp in the
>> return value.
>>
>> The regs parameter is still needed, but only for the stats collection, once
>> again bringing into question their utility. The parameter can however switch
>> to being const.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: Jan Beulich <JBeulich@suse.com>
>> CC: Wei Liu <wei.liu2@citrix.com>
>> CC: Roger Pau Monné <roger.pau@citrix.com>
>> CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
>> ---
>> xen/arch/x86/pv/emul-inv-op.c | 7 ++++++-
>> xen/arch/x86/pv/emul-priv-op.c | 12 ++++++++----
>> xen/arch/x86/time.c | 8 ++------
>> xen/include/asm-x86/time.h | 2 +-
>> 4 files changed, 17 insertions(+), 12 deletions(-)
>>
>> diff --git a/xen/arch/x86/pv/emul-inv-op.c b/xen/arch/x86/pv/emul-inv-op.c
>> index f894417..b1916b4 100644
>> --- a/xen/arch/x86/pv/emul-inv-op.c
>> +++ b/xen/arch/x86/pv/emul-inv-op.c
>> @@ -46,6 +46,7 @@ static int emulate_invalid_rdtscp(struct cpu_user_regs *regs)
>> char opcode[3];
>> unsigned long eip, rc;
>> struct vcpu *v = current;
>> + struct domain *currd = v->domain;
> const?
>
>>
>> eip = regs->rip;
>> if ( (rc = copy_from_user(opcode, (char *)eip, sizeof(opcode))) != 0 )
>> @@ -56,7 +57,11 @@ static int emulate_invalid_rdtscp(struct cpu_user_regs *regs)
>> if ( memcmp(opcode, "\xf\x1\xf9", sizeof(opcode)) )
>> return 0;
>> eip += sizeof(opcode);
>> - pv_soft_rdtsc(v, regs, 1);
>> +
>> + msr_split(regs, pv_soft_rdtsc(v, regs));
>> + regs->rcx = ((currd->arch.tsc_mode == TSC_MODE_PVRDTSCP)
>> + ? currd->arch.incarnation : 0);
> In the previous patch you use the same expression without any
> parentheses. I think I prefer the version without parentheses. I also
> wonder whether it would make sense to turn this into a macro (seeing
> it being used in the previous patch and also further below).
>
> With those fixed (if applicable):
None of them survive patch 5 in the series. I'll fix the formatting,
but I'm not going to macro-ise anything.
>
> Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
>
> Thanks, Roger.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
next prev parent reply other threads:[~2018-02-20 16:07 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-20 11:58 [RFC PATCH 0/5] x86: Multiple fixes to MSR_TSC_AUX and RDTSCP handling for guests Andrew Cooper
2018-02-20 11:58 ` [PATCH 1/5] x86/hvm: Don't shadow the domain parameter in hvm_save_cpu_msrs() Andrew Cooper
2018-02-20 14:54 ` Roger Pau Monné
2018-02-20 15:12 ` Wei Liu
2018-02-23 13:53 ` Jan Beulich
2018-02-20 11:58 ` [PATCH 2/5] x86/pv: Avoid leaking other guests' MSR_TSC_AUX values into PV context Andrew Cooper
2018-02-20 15:22 ` Wei Liu
2018-02-20 15:26 ` Andrew Cooper
2018-02-20 15:32 ` Wei Liu
2018-02-20 15:49 ` Roger Pau Monné
2018-02-23 14:04 ` Jan Beulich
2018-02-23 14:22 ` Andrew Cooper
2018-02-23 15:09 ` Jan Beulich
2018-02-26 11:25 ` Jan Beulich
2018-02-26 19:11 ` [ping] " Andrew Cooper
2018-02-27 5:38 ` Tian, Kevin
2018-02-26 19:52 ` Boris Ostrovsky
2018-02-20 11:58 ` [PATCH 3/5] x86/time: Rework pv_soft_rdtsc() to aid further cleanup Andrew Cooper
2018-02-20 15:32 ` Wei Liu
2018-02-20 16:04 ` Roger Pau Monné
2018-02-20 16:07 ` Andrew Cooper [this message]
2018-02-23 14:38 ` Jan Beulich
2018-02-20 11:58 ` [PATCH 4/5] x86/pv: Remove deferred RDTSC{, P} handling in pv_emulate_privileged_op() Andrew Cooper
2018-02-20 16:08 ` Wei Liu
2018-02-20 16:28 ` Roger Pau Monné
2018-02-20 16:37 ` Andrew Cooper
2018-02-20 17:40 ` Roger Pau Monné
2018-02-23 14:40 ` Jan Beulich
2018-02-20 11:58 ` [PATCH 5/5] x86: Rework MSR_TSC_AUX handling from scratch Andrew Cooper
2018-02-20 17:03 ` Wei Liu
2018-02-20 17:42 ` Andrew Cooper
2018-02-21 11:08 ` Wei Liu
2018-02-20 17:35 ` Roger Pau Monné
2018-02-20 18:28 ` Andrew Cooper
2018-02-21 10:13 ` Roger Pau Monné
2018-02-21 11:36 ` [PATCH v2 " Andrew Cooper
2018-02-21 12:06 ` Wei Liu
2018-02-21 13:04 ` Roger Pau Monné
2018-02-23 15:05 ` Jan Beulich
2018-02-23 15:51 ` Andrew Cooper
2018-02-26 11:30 ` Jan Beulich
2018-02-26 19:12 ` [RFC PATCH 0/5] x86: Multiple fixes to MSR_TSC_AUX and RDTSCP handling for guests Andrew Cooper
2018-02-26 19:44 ` Boris Ostrovsky
2018-02-26 23:30 ` Andrew Cooper
2018-03-09 18:05 ` Boris Ostrovsky
2018-03-09 18:41 ` Andrew Cooper
2018-03-09 19:10 ` Boris Ostrovsky
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=7efa9da1-6d52-191c-8d66-f514367fbe7d@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=JBeulich@suse.com \
--cc=roger.pau@citrix.com \
--cc=wei.liu2@citrix.com \
--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 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).