All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oliver Upton <oupton@google.com>
To: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: kvm@vger.kernel.org, Paolo Bonzini <pbonzini@redhat.com>,
	Jim Mattson <jmattson@google.com>,
	Aaron Lewis <aaronlewis@google.com>
Subject: Re: [kvm-unit-tests PATCH] x86: VMX: Check preconditions for RDTSC test
Date: Wed, 22 Jan 2020 01:51:39 -0800	[thread overview]
Message-ID: <20200122095139.GA229137@google.com> (raw)
In-Reply-To: <87wo9jstzj.fsf@vitty.brq.redhat.com>

On Wed, Jan 22, 2020 at 10:47:28AM +0100, Vitaly Kuznetsov wrote:
> Oliver Upton <oupton@google.com> writes:
> 
> > The RDTSC VM-exit test requires the 'use TSC offsetting' processor-based
> > VM-execution control be allowed on the host. Check this precondition
> > before running the test rather than asserting it later on to avoid
> > erroneous failures on a host without TSC offsetting.
> >
> > Cc: Aaron Lewis <aaronlewis@google.com>
> > Signed-off-by: Oliver Upton <oupton@google.com>
> > ---
> >  x86/vmx_tests.c | 8 +++++---
> >  1 file changed, 5 insertions(+), 3 deletions(-)
> >
> > diff --git a/x86/vmx_tests.c b/x86/vmx_tests.c
> > index 3b150323b325..de9a931216e2 100644
> > --- a/x86/vmx_tests.c
> > +++ b/x86/vmx_tests.c
> > @@ -9161,9 +9161,6 @@ static void vmx_vmcs_shadow_test(void)
> >   */
> >  static void reset_guest_tsc_to_zero(void)
> >  {
> > -	TEST_ASSERT_MSG(ctrl_cpu_rev[0].clr & CPU_USE_TSC_OFFSET,
> > -			"Expected support for 'use TSC offsetting'");
> > -
> >  	vmcs_set_bits(CPU_EXEC_CTRL0, CPU_USE_TSC_OFFSET);
> >  	vmcs_write(TSC_OFFSET, -rdtsc());
> >  }
> > @@ -9210,6 +9207,11 @@ static void rdtsc_vmexit_diff_test(void)
> >  	int fail = 0;
> >  	int i;
> >  
> > +	if (!(ctrl_cpu_rev[0].clr & CPU_USE_TSC_OFFSET)) {
> > +		printf("CPU doesn't support the 'use TSC offsetting' processor-based VM-execution control.\n");
> > +		return;
> > +	}
> > +
> 
> Can we use test_skip() instead, something like
> 
> diff --git a/x86/vmx_tests.c b/x86/vmx_tests.c
> index dd32b3aef08b..bfecf36d37ef 100644
> --- a/x86/vmx_tests.c
> +++ b/x86/vmx_tests.c
> @@ -9166,6 +9166,9 @@ static void rdtsc_vmexit_diff_test(void)
>         int fail = 0;
>         int i;
>  
> +       if (!(ctrl_cpu_rev[0].clr & CPU_USE_TSC_OFFSET))
> +               test_skip("CPU doesn't support the 'use TSC offsetting' processor-based VM-execution control.\n");
> +
>         test_set_guest(rdtsc_vmexit_diff_test_guest);
>  
>         reset_guest_tsc_to_zero();
> 
> ?

Even better :) Thanks Vitaly!

> >  	test_set_guest(rdtsc_vmexit_diff_test_guest);
> >  
> >  	reset_guest_tsc_to_zero();
> 
> -- 
> Vitaly
> 

  reply	other threads:[~2020-01-22  9:51 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-22  7:39 [kvm-unit-tests PATCH] x86: VMX: Check preconditions for RDTSC test Oliver Upton
2020-01-22  9:47 ` Vitaly Kuznetsov
2020-01-22  9:51   ` Oliver Upton [this message]
2020-01-22 14:26 ` Paolo Bonzini

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=20200122095139.GA229137@google.com \
    --to=oupton@google.com \
    --cc=aaronlewis@google.com \
    --cc=jmattson@google.com \
    --cc=kvm@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=vkuznets@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.