Message ID | 20200423091013.11587-4-frankja@linux.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | s390x: smp: Improve smp code part 2 | expand |
On 23.04.20 11:10, Janosch Frank wrote: > Let's also test the stop portion of the "stop and store status" sigp > order. > > Signed-off-by: Janosch Frank <frankja@linux.ibm.com> > Reviewed-by: Cornelia Huck <cohuck@redhat.com> Reviewed-by: David Hildenbrand <david@redhat.com> > --- > s390x/smp.c | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/s390x/smp.c b/s390x/smp.c > index 95df8c4..8a6cd1d 100644 > --- a/s390x/smp.c > +++ b/s390x/smp.c > @@ -76,12 +76,26 @@ static void test_stop_store_status(void) > struct lowcore *lc = (void *)0x0; > > report_prefix_push("stop store status"); > + report_prefix_push("running"); > + smp_cpu_restart(1); > lc->prefix_sa = 0; > lc->grs_sa[15] = 0; > smp_cpu_stop_store_status(1); > mb(); > 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"); > + lc->prefix_sa = 0; > + lc->grs_sa[15] = 0; > + smp_cpu_stop_store_status(1); > + mb(); > + report(lc->prefix_sa == (uint32_t)(uintptr_t)cpu->lowcore, "prefix"); > + report(lc->grs_sa[15], "stack"); > + report_prefix_pop(); > + > report_prefix_pop(); > } > >
diff --git a/s390x/smp.c b/s390x/smp.c index 95df8c4..8a6cd1d 100644 --- a/s390x/smp.c +++ b/s390x/smp.c @@ -76,12 +76,26 @@ static void test_stop_store_status(void) struct lowcore *lc = (void *)0x0; report_prefix_push("stop store status"); + report_prefix_push("running"); + smp_cpu_restart(1); lc->prefix_sa = 0; lc->grs_sa[15] = 0; smp_cpu_stop_store_status(1); mb(); 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"); + lc->prefix_sa = 0; + lc->grs_sa[15] = 0; + smp_cpu_stop_store_status(1); + mb(); + report(lc->prefix_sa == (uint32_t)(uintptr_t)cpu->lowcore, "prefix"); + report(lc->grs_sa[15], "stack"); + report_prefix_pop(); + report_prefix_pop(); }