[kvm-unit-tests,v2,1/7] s390x: smp: Cleanup smp.c
diff mbox series

Message ID 20200116120513.2244-2-frankja@linux.ibm.com
State New
Headers show
Series
  • s390x: smp: Improve smp code and reset checks
Related show

Commit Message

Janosch Frank Jan. 16, 2020, 12:05 p.m. UTC
Let's remove a lot of badly formatted code by introducing the
wait_for_flag() function.

Also let's remove some stray spaces.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
---
 s390x/smp.c | 42 ++++++++++++++++++++++++------------------
 1 file changed, 24 insertions(+), 18 deletions(-)

Comments

David Hildenbrand Jan. 16, 2020, 12:13 p.m. UTC | #1
On 16.01.20 13:05, Janosch Frank wrote:
> Let's remove a lot of badly formatted code by introducing the
> wait_for_flag() function.
> 
> Also let's remove some stray spaces.
> 
> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> Reviewed-by: Cornelia Huck <cohuck@redhat.com>
> ---
>  s390x/smp.c | 42 ++++++++++++++++++++++++------------------
>  1 file changed, 24 insertions(+), 18 deletions(-)
> 
> diff --git a/s390x/smp.c b/s390x/smp.c
> index ab7e46c..02204fd 100644
> --- a/s390x/smp.c
> +++ b/s390x/smp.c
> @@ -22,6 +22,13 @@
>  
>  static int testflag = 0;
>  
> +static void wait_for_flag(void)
> +{
> +	while (!testflag) {
> +		mb();
> +	}
> +}
> +
>  static void cpu_loop(void)
>  {
>  	for (;;) {}
> @@ -37,13 +44,11 @@ static void test_func(void)
>  static void test_start(void)
>  {
>  	struct psw psw;
> -	psw.mask =  extract_psw_mask();
> +	psw.mask = extract_psw_mask();
>  	psw.addr = (unsigned long)test_func;
>  
>  	smp_cpu_setup(1, psw);
> -	while (!testflag) {
> -		mb();
> -	}
> +	wait_for_flag();
>  	report(1, "start");
>  }
>  
> @@ -98,6 +103,7 @@ static void test_store_status(void)
>  	report(1, "status written");
>  	free_pages(status, PAGE_SIZE * 2);
>  	report_prefix_pop();
> +	smp_cpu_stop(1);

This hunk does not seem to belong into this patch.

Apart from that, looks good to me.
Janosch Frank Jan. 16, 2020, 1:01 p.m. UTC | #2
On 1/16/20 1:13 PM, David Hildenbrand wrote:
> On 16.01.20 13:05, Janosch Frank wrote:
>> Let's remove a lot of badly formatted code by introducing the
>> wait_for_flag() function.
>>
>> Also let's remove some stray spaces.
>>
>> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
>> Reviewed-by: Thomas Huth <thuth@redhat.com>
>> Reviewed-by: Cornelia Huck <cohuck@redhat.com>
>> ---
>>  s390x/smp.c | 42 ++++++++++++++++++++++++------------------
>>  1 file changed, 24 insertions(+), 18 deletions(-)
>>
>> diff --git a/s390x/smp.c b/s390x/smp.c
>> index ab7e46c..02204fd 100644
>> --- a/s390x/smp.c
>> +++ b/s390x/smp.c
>> @@ -22,6 +22,13 @@
>>  
>>  static int testflag = 0;
>>  
>> +static void wait_for_flag(void)
>> +{
>> +	while (!testflag) {
>> +		mb();
>> +	}
>> +}
>> +
>>  static void cpu_loop(void)
>>  {
>>  	for (;;) {}
>> @@ -37,13 +44,11 @@ static void test_func(void)
>>  static void test_start(void)
>>  {
>>  	struct psw psw;
>> -	psw.mask =  extract_psw_mask();
>> +	psw.mask = extract_psw_mask();
>>  	psw.addr = (unsigned long)test_func;
>>  
>>  	smp_cpu_setup(1, psw);
>> -	while (!testflag) {
>> -		mb();
>> -	}
>> +	wait_for_flag();
>>  	report(1, "start");
>>  }
>>  
>> @@ -98,6 +103,7 @@ static void test_store_status(void)
>>  	report(1, "status written");
>>  	free_pages(status, PAGE_SIZE * 2);
>>  	report_prefix_pop();
>> +	smp_cpu_stop(1);
> 
> This hunk does not seem to belong into this patch.
> 
> Apart from that, looks good to me.

Hunk was moved to the next patch and I pushed the branch

Patch
diff mbox series

diff --git a/s390x/smp.c b/s390x/smp.c
index ab7e46c..02204fd 100644
--- a/s390x/smp.c
+++ b/s390x/smp.c
@@ -22,6 +22,13 @@ 
 
 static int testflag = 0;
 
+static void wait_for_flag(void)
+{
+	while (!testflag) {
+		mb();
+	}
+}
+
 static void cpu_loop(void)
 {
 	for (;;) {}
@@ -37,13 +44,11 @@  static void test_func(void)
 static void test_start(void)
 {
 	struct psw psw;
-	psw.mask =  extract_psw_mask();
+	psw.mask = extract_psw_mask();
 	psw.addr = (unsigned long)test_func;
 
 	smp_cpu_setup(1, psw);
-	while (!testflag) {
-		mb();
-	}
+	wait_for_flag();
 	report(1, "start");
 }
 
@@ -98,6 +103,7 @@  static void test_store_status(void)
 	report(1, "status written");
 	free_pages(status, PAGE_SIZE * 2);
 	report_prefix_pop();
+	smp_cpu_stop(1);
 
 	report_prefix_pop();
 }
@@ -115,24 +121,24 @@  static void ecall(void)
 	testflag = 1;
 	while (lc->ext_int_code != 0x1202) { mb(); }
 	report(1, "ecall");
-	testflag= 1;
+	testflag = 1;
 }
 
 static void test_ecall(void)
 {
 	struct psw psw;
-	psw.mask =  extract_psw_mask();
+	psw.mask = extract_psw_mask();
 	psw.addr = (unsigned long)ecall;
 
 	report_prefix_push("ecall");
-	testflag= 0;
+	testflag = 0;
 	smp_cpu_destroy(1);
 
 	smp_cpu_setup(1, psw);
-	while (!testflag) { mb(); }
-	testflag= 0;
+	wait_for_flag();
+	testflag = 0;
 	sigp(1, SIGP_EXTERNAL_CALL, 0, NULL);
-	while(!testflag) {mb();}
+	wait_for_flag();
 	smp_cpu_stop(1);
 	report_prefix_pop();
 }
@@ -147,7 +153,7 @@  static void emcall(void)
 	mask = extract_psw_mask();
 	mask |= PSW_MASK_EXT;
 	load_psw_mask(mask);
-	testflag= 1;
+	testflag = 1;
 	while (lc->ext_int_code != 0x1201) { mb(); }
 	report(1, "ecall");
 	testflag = 1;
@@ -156,18 +162,18 @@  static void emcall(void)
 static void test_emcall(void)
 {
 	struct psw psw;
-	psw.mask =  extract_psw_mask();
+	psw.mask = extract_psw_mask();
 	psw.addr = (unsigned long)emcall;
 
 	report_prefix_push("emcall");
-	testflag= 0;
+	testflag = 0;
 	smp_cpu_destroy(1);
 
 	smp_cpu_setup(1, psw);
-	while (!testflag) { mb(); }
-	testflag= 0;
+	wait_for_flag();
+	testflag = 0;
 	sigp(1, SIGP_EMERGENCY_SIGNAL, 0, NULL);
-	while(!testflag) { mb(); }
+	wait_for_flag();
 	smp_cpu_stop(1);
 	report_prefix_pop();
 }
@@ -177,7 +183,7 @@  static void test_reset_initial(void)
 	struct cpu_status *status = alloc_pages(0);
 	struct psw psw;
 
-	psw.mask =  extract_psw_mask();
+	psw.mask = extract_psw_mask();
 	psw.addr = (unsigned long)test_func;
 
 	report_prefix_push("reset initial");
@@ -208,7 +214,7 @@  static void test_reset(void)
 {
 	struct psw psw;
 
-	psw.mask =  extract_psw_mask();
+	psw.mask = extract_psw_mask();
 	psw.addr = (unsigned long)test_func;
 
 	report_prefix_push("cpu reset");