From: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
To: "Thomas Huth" <thuth@redhat.com>,
"Laurent Vivier" <lvivier@redhat.com>,
"Radim Krčmář" <rkrcmar@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
kvm@vger.kernel.org
Cc: kvm-ppc@vger.kernel.org
Subject: Re: [kvm-unit-tests PULL 1/2] powerpc: Allow for a custom decr value to be specified to load on decr
Date: Mon, 20 May 2019 04:47:27 +0000 [thread overview]
Message-ID: <1558327647.5110.0.camel@gmail.com> (raw)
In-Reply-To: <1bea83ba-6c64-3b21-baca-8c414ea86770@redhat.com>
On Fri, 2019-05-17 at 15:10 +0200, Thomas Huth wrote:
> On 17/05/2019 15.03, Laurent Vivier wrote:
> > From: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
> >
> > Currently the handler for a decrementer exception will simply
> > reload the
> > maximum value (0x7FFFFFFF), which will take ~4 seconds to expire
> > again.
> > This means that if a vcpu cedes, it will be ~4 seconds between
> > wakeups.
> >
> > The h_cede_tm test is testing a known breakage when a guest cedes
> > while
> > suspended. To be sure we cede 500 times to check for the bug.
> > However
> > since it takes ~4 seconds to be woken up once we've ceded, we only
> > get
> > through ~20 iterations before we reach the 90 seconds timeout and
> > the
> > test appears to fail.
> >
> > Add an option when registering the decrementer handler to specify
> > the
> > value which should be reloaded by the handler, allowing the timeout
> > to be
> > chosen.
> >
> > Modify the spr test to use the max timeout to preserve existing
> > behaviour.
> > Modify the h_cede_tm test to use a 10ms timeout to ensure we can
> > perform
> > 500 iterations before hitting the 90 second time limit for a test.
> >
> > This means the h_cede_tm test now succeeds rather than timing out.
> >
> > Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
> > Reviewed-by: Thomas Huth <thuth@redhat.com>
> > Reviewed-by: Laurent Vivier <lvivier@redhat.com>
> > [lv: reset initial value to 0x3FFFFFFF]
>
> Looks like something went wrong here? There is still the 0x7FFFFFFF
> in
> the hunk below...
No, I think this is correct.
Max value is ox7FFFFFFF, but the initial value we load via mtdec is the
original 0x3FFFFFFF.
>
> > diff --git a/powerpc/sprs.c b/powerpc/sprs.c
> > index 6744bd8d8049..3c2d98c9ca99 100644
> > --- a/powerpc/sprs.c
> > +++ b/powerpc/sprs.c
> > @@ -253,6 +253,7 @@ int main(int argc, char **argv)
> > 0x1234567890ABCDEFULL, 0xFEDCBA0987654321ULL,
> > -1ULL,
> > };
> > + static uint64_t decr = 0x7FFFFFFF; /* Max value */
> >
> > for (i = 1; i < argc; i++) {
> > if (!strcmp(argv[i], "-w")) {
> > @@ -288,7 +289,7 @@ int main(int argc, char **argv)
> > (void) getchar();
> > } else {
> > puts("Sleeping...\n");
> > - handle_exception(0x900, &dec_except_handler,
> > NULL);
> > + handle_exception(0x900, &dec_except_handler,
> > &decr);
> > asm volatile ("mtdec %0" : : "r" (0x3FFFFFFF));
> > hcall(H_CEDE);
> > }
>
> Thomas
WARNING: multiple messages have this Message-ID (diff)
From: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
To: "Thomas Huth" <thuth@redhat.com>,
"Laurent Vivier" <lvivier@redhat.com>,
"Radim Krčmář" <rkrcmar@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
kvm@vger.kernel.org
Cc: kvm-ppc@vger.kernel.org
Subject: Re: [kvm-unit-tests PULL 1/2] powerpc: Allow for a custom decr value to be specified to load on decr excp
Date: Mon, 20 May 2019 14:47:27 +1000 [thread overview]
Message-ID: <1558327647.5110.0.camel@gmail.com> (raw)
In-Reply-To: <1bea83ba-6c64-3b21-baca-8c414ea86770@redhat.com>
On Fri, 2019-05-17 at 15:10 +0200, Thomas Huth wrote:
> On 17/05/2019 15.03, Laurent Vivier wrote:
> > From: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
> >
> > Currently the handler for a decrementer exception will simply
> > reload the
> > maximum value (0x7FFFFFFF), which will take ~4 seconds to expire
> > again.
> > This means that if a vcpu cedes, it will be ~4 seconds between
> > wakeups.
> >
> > The h_cede_tm test is testing a known breakage when a guest cedes
> > while
> > suspended. To be sure we cede 500 times to check for the bug.
> > However
> > since it takes ~4 seconds to be woken up once we've ceded, we only
> > get
> > through ~20 iterations before we reach the 90 seconds timeout and
> > the
> > test appears to fail.
> >
> > Add an option when registering the decrementer handler to specify
> > the
> > value which should be reloaded by the handler, allowing the timeout
> > to be
> > chosen.
> >
> > Modify the spr test to use the max timeout to preserve existing
> > behaviour.
> > Modify the h_cede_tm test to use a 10ms timeout to ensure we can
> > perform
> > 500 iterations before hitting the 90 second time limit for a test.
> >
> > This means the h_cede_tm test now succeeds rather than timing out.
> >
> > Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
> > Reviewed-by: Thomas Huth <thuth@redhat.com>
> > Reviewed-by: Laurent Vivier <lvivier@redhat.com>
> > [lv: reset initial value to 0x3FFFFFFF]
>
> Looks like something went wrong here? There is still the 0x7FFFFFFF
> in
> the hunk below...
No, I think this is correct.
Max value is ox7FFFFFFF, but the initial value we load via mtdec is the
original 0x3FFFFFFF.
>
> > diff --git a/powerpc/sprs.c b/powerpc/sprs.c
> > index 6744bd8d8049..3c2d98c9ca99 100644
> > --- a/powerpc/sprs.c
> > +++ b/powerpc/sprs.c
> > @@ -253,6 +253,7 @@ int main(int argc, char **argv)
> > 0x1234567890ABCDEFULL, 0xFEDCBA0987654321ULL,
> > -1ULL,
> > };
> > + static uint64_t decr = 0x7FFFFFFF; /* Max value */
> >
> > for (i = 1; i < argc; i++) {
> > if (!strcmp(argv[i], "-w")) {
> > @@ -288,7 +289,7 @@ int main(int argc, char **argv)
> > (void) getchar();
> > } else {
> > puts("Sleeping...\n");
> > - handle_exception(0x900, &dec_except_handler,
> > NULL);
> > + handle_exception(0x900, &dec_except_handler,
> > &decr);
> > asm volatile ("mtdec %0" : : "r" (0x3FFFFFFF));
> > hcall(H_CEDE);
> > }
>
> Thomas
next prev parent reply other threads:[~2019-05-20 4:47 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-17 13:03 [kvm-unit-tests PULL 0/2] Ppc next patches Laurent Vivier
2019-05-17 13:03 ` Laurent Vivier
2019-05-17 13:03 ` [kvm-unit-tests PULL 1/2] powerpc: Allow for a custom decr value to be specified to load on decr exc Laurent Vivier
2019-05-17 13:03 ` [kvm-unit-tests PULL 1/2] powerpc: Allow for a custom decr value to be specified to load on decr excp Laurent Vivier
2019-05-17 13:10 ` [kvm-unit-tests PULL 1/2] powerpc: Allow for a custom decr value to be specified to load on decr Thomas Huth
2019-05-17 13:10 ` [kvm-unit-tests PULL 1/2] powerpc: Allow for a custom decr value to be specified to load on decr excp Thomas Huth
2019-05-20 4:47 ` Suraj Jitindar Singh [this message]
2019-05-20 4:47 ` Suraj Jitindar Singh
2019-05-20 6:12 ` [kvm-unit-tests PULL 1/2] powerpc: Allow for a custom decr value to be specified to load on decr Laurent Vivier
2019-05-20 6:12 ` [kvm-unit-tests PULL 1/2] powerpc: Allow for a custom decr value to be specified to load on decr excp Laurent Vivier
2019-05-20 7:03 ` [kvm-unit-tests PULL 1/2] powerpc: Allow for a custom decr value to be specified to load on decr Thomas Huth
2019-05-20 7:03 ` [kvm-unit-tests PULL 1/2] powerpc: Allow for a custom decr value to be specified to load on decr excp Thomas Huth
2019-05-17 13:03 ` [kvm-unit-tests PULL 2/2] powerpc: Make h_cede_tm test run by default Laurent Vivier
2019-05-17 13:03 ` Laurent Vivier
2019-06-03 8:24 ` [kvm-unit-tests PULL 0/2] Ppc next patches Laurent Vivier
2019-06-03 8:24 ` Laurent Vivier
2019-06-06 12:27 ` Paolo Bonzini
2019-06-06 12:27 ` Paolo Bonzini
2019-06-06 12:08 ` Paolo Bonzini
2019-06-06 12:08 ` 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=1558327647.5110.0.camel@gmail.com \
--to=sjitindarsingh@gmail.com \
--cc=kvm-ppc@vger.kernel.org \
--cc=kvm@vger.kernel.org \
--cc=lvivier@redhat.com \
--cc=pbonzini@redhat.com \
--cc=rkrcmar@redhat.com \
--cc=thuth@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.