From: Claudio Imbrenda <imbrenda@linux.ibm.com>
To: Eric Farman <farman@linux.ibm.com>
Cc: Thomas Huth <thuth@redhat.com>,
Janosch Frank <frankja@linux.ibm.com>,
Nico Boehr <nrb@linux.ibm.com>,
David Hildenbrand <david@redhat.com>,
kvm@vger.kernel.org, linux-s390@vger.kernel.org
Subject: Re: [PATCH kvm-unit-tests v2 3/6] s390x: smp: Fix checks for SIGP STOP STORE STATUS
Date: Tue, 15 Mar 2022 18:39:22 +0100 [thread overview]
Message-ID: <20220315183922.0444e8d2@p-imbrenda> (raw)
In-Reply-To: <20220311173822.1234617-4-farman@linux.ibm.com>
On Fri, 11 Mar 2022 18:38:19 +0100
Eric Farman <farman@linux.ibm.com> wrote:
> In the routine test_stop_store_status(), the "running" part of
> the test checks a few of the fields in lowcore (to verify the
> "STORE STATUS" part of the SIGP order), and then ensures that
> the CPU has stopped. But this is backwards, according to the
> Principles of Operation:
> The addressed CPU performs the stop function, fol-
> lowed by the store-status operation (see “Store Sta-
> tus” on page 4-82).
>
> If the CPU were not yet stopped, the contents of the lowcore
> fields would be unpredictable. It works today because the
> library functions wait on the stop function, so the CPU is
> stopped by the time it comes back. Let's first check that the
> CPU is stopped first, just to be clear.
>
> While here, add the same check to the second part of the test,
> even though the CPU is explicitly stopped prior to the SIGP.
>
> Fixes: fc67b07a4 ("s390x: smp: Test stop and store status on a running and stopped cpu")
> Signed-off-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
> ---
> s390x/smp.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/s390x/smp.c b/s390x/smp.c
> index 2f4af820..50811bd0 100644
> --- a/s390x/smp.c
> +++ b/s390x/smp.c
> @@ -98,9 +98,9 @@ static void test_stop_store_status(void)
> lc->grs_sa[15] = 0;
> smp_cpu_stop_store_status(1);
> mb();
> + report(smp_cpu_stopped(1), "cpu stopped");
> report(lc->prefix_sa == (uint32_t)(uintptr_t)cpu->lowcore, "prefix");
> report(lc->grs_sa[15], "stack");
> - report(smp_cpu_stopped(1), "cpu stopped");
> report_prefix_pop();
>
> report_prefix_push("stopped");
> @@ -108,6 +108,7 @@ static void test_stop_store_status(void)
> lc->grs_sa[15] = 0;
> smp_cpu_stop_store_status(1);
> mb();
> + report(smp_cpu_stopped(1), "cpu stopped");
> report(lc->prefix_sa == (uint32_t)(uintptr_t)cpu->lowcore, "prefix");
> report(lc->grs_sa[15], "stack");
> report_prefix_pop();
next prev parent reply other threads:[~2022-03-15 18:22 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-11 17:38 [PATCH kvm-unit-tests v2 0/6] s390x SIGP fixes Eric Farman
2022-03-11 17:38 ` [PATCH kvm-unit-tests v2 1/6] lib: s390x: smp: Retry SIGP SENSE on CC2 Eric Farman
2022-03-24 8:08 ` Thomas Huth
2022-03-11 17:38 ` [PATCH kvm-unit-tests v2 2/6] s390x: smp: Test SIGP RESTART against stopped CPU Eric Farman
2022-03-24 8:15 ` Thomas Huth
2022-03-11 17:38 ` [PATCH kvm-unit-tests v2 3/6] s390x: smp: Fix checks for SIGP STOP STORE STATUS Eric Farman
2022-03-15 6:39 ` Nico Boehr
2022-03-15 17:39 ` Claudio Imbrenda [this message]
2022-03-11 17:38 ` [PATCH kvm-unit-tests v2 4/6] s390x: smp: Create and use a non-waiting CPU stop Eric Farman
2022-03-15 6:45 ` Nico Boehr
2022-03-11 17:38 ` [PATCH kvm-unit-tests v2 5/6] s390x: smp: Create and use a non-waiting CPU restart Eric Farman
2022-03-15 6:51 ` Nico Boehr
2022-03-21 7:43 ` Janosch Frank
2022-03-11 17:38 ` [PATCH kvm-unit-tests v2 6/6] lib: s390x: smp: Remove smp_sigp_retry Eric Farman
2022-03-15 7:20 ` Nico Boehr
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=20220315183922.0444e8d2@p-imbrenda \
--to=imbrenda@linux.ibm.com \
--cc=david@redhat.com \
--cc=farman@linux.ibm.com \
--cc=frankja@linux.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=nrb@linux.ibm.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox