Re: [v1 PATCH 4/4] RISC-V: Support nr_cpus command line option.

2019-03-19 Thread Atish Patra

On 3/19/19 4:58 PM, Damien Le Moal wrote:

On 2019/03/20 8:56, Damien Le Moal wrote:

On 2019/03/20 7:20, Atish Patra wrote:

If nr_cpus command line option is set, maximum possible cpu should be
set to that value.

Signed-off-by: Atish Patra 
---
  arch/riscv/kernel/smpboot.c | 10 +-
  1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/arch/riscv/kernel/smpboot.c b/arch/riscv/kernel/smpboot.c
index 609475c5..a8fe590c 100644
--- a/arch/riscv/kernel/smpboot.c
+++ b/arch/riscv/kernel/smpboot.c
@@ -86,11 +86,19 @@ void __init setup_smp(void)
}
  
  		cpuid_to_hartid_map(cpuid) = hart;

-   set_cpu_possible(cpuid, true);


This looks weird: the code being changed does not match what patch 3/4 did.


Arg... Ignore this one. My bad. Morning here, I need more coffee :)


:).




cpuid++;
}
  
  	BUG_ON(!found_boot_cpu);

+
+   if (cpuid > nr_cpu_ids)
+   pr_warn("Total number of cpus [%d] are greater than configured via 
nr_cpus [%d]\n",


"The total number of cpus [%d] is greater than nr_cpus option value [%d]\n"



ok. I will fix it in v2.

Regards,
Atish

+   cpuid, nr_cpu_ids);
+
+   for (cpuid = 1; cpuid < nr_cpu_ids; cpuid++) {
+   if (cpuid_to_hartid_map(cpuid) != INVALID_HARTID)
+   set_cpu_possible(cpuid, true);
+   }
  }
  
  int __cpu_up(unsigned int cpu, struct task_struct *tidle)












Re: [v1 PATCH 4/4] RISC-V: Support nr_cpus command line option.

2019-03-19 Thread Damien Le Moal
On 2019/03/20 8:56, Damien Le Moal wrote:
> On 2019/03/20 7:20, Atish Patra wrote:
>> If nr_cpus command line option is set, maximum possible cpu should be
>> set to that value.
>>
>> Signed-off-by: Atish Patra 
>> ---
>>  arch/riscv/kernel/smpboot.c | 10 +-
>>  1 file changed, 9 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/riscv/kernel/smpboot.c b/arch/riscv/kernel/smpboot.c
>> index 609475c5..a8fe590c 100644
>> --- a/arch/riscv/kernel/smpboot.c
>> +++ b/arch/riscv/kernel/smpboot.c
>> @@ -86,11 +86,19 @@ void __init setup_smp(void)
>>  }
>>  
>>  cpuid_to_hartid_map(cpuid) = hart;
>> -set_cpu_possible(cpuid, true);
> 
> This looks weird: the code being changed does not match what patch 3/4 did.

Arg... Ignore this one. My bad. Morning here, I need more coffee :)

> 
>>  cpuid++;
>>  }
>>  
>>  BUG_ON(!found_boot_cpu);
>> +
>> +if (cpuid > nr_cpu_ids)
>> +pr_warn("Total number of cpus [%d] are greater than configured 
>> via nr_cpus [%d]\n",
> 
> "The total number of cpus [%d] is greater than nr_cpus option value [%d]\n"
> 
>> +cpuid, nr_cpu_ids);
>> +
>> +for (cpuid = 1; cpuid < nr_cpu_ids; cpuid++) {
>> +if (cpuid_to_hartid_map(cpuid) != INVALID_HARTID)
>> +set_cpu_possible(cpuid, true);
>> +}
>>  }
>>  
>>  int __cpu_up(unsigned int cpu, struct task_struct *tidle)
>>
> 
> 


-- 
Damien Le Moal
Western Digital Research


Re: [v1 PATCH 4/4] RISC-V: Support nr_cpus command line option.

2019-03-19 Thread Damien Le Moal
On 2019/03/20 7:20, Atish Patra wrote:
> If nr_cpus command line option is set, maximum possible cpu should be
> set to that value.
> 
> Signed-off-by: Atish Patra 
> ---
>  arch/riscv/kernel/smpboot.c | 10 +-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/riscv/kernel/smpboot.c b/arch/riscv/kernel/smpboot.c
> index 609475c5..a8fe590c 100644
> --- a/arch/riscv/kernel/smpboot.c
> +++ b/arch/riscv/kernel/smpboot.c
> @@ -86,11 +86,19 @@ void __init setup_smp(void)
>   }
>  
>   cpuid_to_hartid_map(cpuid) = hart;
> - set_cpu_possible(cpuid, true);

This looks weird: the code being changed does not match what patch 3/4 did.

>   cpuid++;
>   }
>  
>   BUG_ON(!found_boot_cpu);
> +
> + if (cpuid > nr_cpu_ids)
> + pr_warn("Total number of cpus [%d] are greater than configured 
> via nr_cpus [%d]\n",

"The total number of cpus [%d] is greater than nr_cpus option value [%d]\n"

> + cpuid, nr_cpu_ids);
> +
> + for (cpuid = 1; cpuid < nr_cpu_ids; cpuid++) {
> + if (cpuid_to_hartid_map(cpuid) != INVALID_HARTID)
> + set_cpu_possible(cpuid, true);
> + }
>  }
>  
>  int __cpu_up(unsigned int cpu, struct task_struct *tidle)
> 


-- 
Damien Le Moal
Western Digital Research


[v1 PATCH 4/4] RISC-V: Support nr_cpus command line option.

2019-03-19 Thread Atish Patra
If nr_cpus command line option is set, maximum possible cpu should be
set to that value.

Signed-off-by: Atish Patra 
---
 arch/riscv/kernel/smpboot.c | 10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/arch/riscv/kernel/smpboot.c b/arch/riscv/kernel/smpboot.c
index 609475c5..a8fe590c 100644
--- a/arch/riscv/kernel/smpboot.c
+++ b/arch/riscv/kernel/smpboot.c
@@ -86,11 +86,19 @@ void __init setup_smp(void)
}
 
cpuid_to_hartid_map(cpuid) = hart;
-   set_cpu_possible(cpuid, true);
cpuid++;
}
 
BUG_ON(!found_boot_cpu);
+
+   if (cpuid > nr_cpu_ids)
+   pr_warn("Total number of cpus [%d] are greater than configured 
via nr_cpus [%d]\n",
+   cpuid, nr_cpu_ids);
+
+   for (cpuid = 1; cpuid < nr_cpu_ids; cpuid++) {
+   if (cpuid_to_hartid_map(cpuid) != INVALID_HARTID)
+   set_cpu_possible(cpuid, true);
+   }
 }
 
 int __cpu_up(unsigned int cpu, struct task_struct *tidle)
-- 
2.21.0