Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1443365 > unrolled thread

[patch] s390/smp: clean up a condition

Started byDan Carpenter <dan.carpenter@oracle.com>
First post2016-07-14 13:30 +0200
Last post2016-07-18 09:10 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [patch] s390/smp: clean up a condition Dan Carpenter <dan.carpenter@oracle.com> - 2016-07-14 13:30 +0200
    Re: [patch] s390/smp: clean up a condition Martin Schwidefsky <schwidefsky@de.ibm.com> - 2016-07-18 09:10 +0200

#1443365 — [patch] s390/smp: clean up a condition

FromDan Carpenter <dan.carpenter@oracle.com>
Date2016-07-14 13:30 +0200
Subject[patch] s390/smp: clean up a condition
Message-ID<rUN06-BW-17@gated-at.bofh.it>
I can never remember precedence rules.  Let's add some parenthesis so
this code is more clear.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
The original code is correct right?  We didn't intend to say:

	sclp_max = sclp.max_cores * (sclp_max ?: nr_cpu_ids);

diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c
index 5c8f7ca..35531fe 100644
--- a/arch/s390/kernel/smp.c
+++ b/arch/s390/kernel/smp.c
@@ -887,7 +887,7 @@ void __init smp_fill_possible_mask(void)
 
 	sclp_max = max(sclp.mtid, sclp.mtid_cp) + 1;
 	sclp_max = min(smp_max_threads, sclp_max);
-	sclp_max = sclp.max_cores * sclp_max ?: nr_cpu_ids;
+	sclp_max = (sclp.max_cores * sclp_max) ?: nr_cpu_ids;
 	possible = setup_possible_cpus ?: nr_cpu_ids;
 	possible = min(possible, sclp_max);
 	for (cpu = 0; cpu < possible && cpu < nr_cpu_ids; cpu++)

[toc] | [next] | [standalone]


#1445264

FromMartin Schwidefsky <schwidefsky@de.ibm.com>
Date2016-07-18 09:10 +0200
Message-ID<rWaQG-352-29@gated-at.bofh.it>
In reply to#1443365
On Thu, 14 Jul 2016 13:40:22 +0300
Dan Carpenter <dan.carpenter@oracle.com> wrote:

> I can never remember precedence rules.  Let's add some parenthesis so
> this code is more clear.
> 
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> ---
> The original code is correct right?  We didn't intend to say:
> 
> 	sclp_max = sclp.max_cores * (sclp_max ?: nr_cpu_ids);
> 
> diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c
> index 5c8f7ca..35531fe 100644
> --- a/arch/s390/kernel/smp.c
> +++ b/arch/s390/kernel/smp.c
> @@ -887,7 +887,7 @@ void __init smp_fill_possible_mask(void)
> 
>  	sclp_max = max(sclp.mtid, sclp.mtid_cp) + 1;
>  	sclp_max = min(smp_max_threads, sclp_max);
> -	sclp_max = sclp.max_cores * sclp_max ?: nr_cpu_ids;
> +	sclp_max = (sclp.max_cores * sclp_max) ?: nr_cpu_ids;
>  	possible = setup_possible_cpus ?: nr_cpu_ids;
>  	possible = min(possible, sclp_max);
>  	for (cpu = 0; cpu < possible && cpu < nr_cpu_ids; cpu++)
> 

The code calculates the number of threads to use, then multiplies
it with the number of cores to get the number of logical CPUs.
If the product happens to be zero because the number of cores
could not be determined, then nr_cpu_ids is going to be used.

So the code is correct but with the parenthesis it is easier to
read. Applied & thanks.

-- 
blue skies,
   Martin.

"Reality continues to ruin my life." - Calvin.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web