On Sun, Nov 28, 2021 at 12:54:00PM -0500, Dennis Zhou wrote: > Hello, > > On Sun, Nov 28, 2021 at 09:43:20AM -0800, Yury Norov wrote: > > On Sun, Nov 28, 2021 at 09:07:52AM -0800, Joe Perches wrote: > > > On Sat, 2021-11-27 at 19:57 -0800, Yury Norov wrote: > > > > Add num_{possible,present,active}_cpus_{eq,gt,le} and replace num_*_cpus() > > > > with one of new functions where appropriate. This allows num_*_cpus_*() > > > > to return earlier depending on the condition. > > > [] > > > > diff --git a/arch/arc/kernel/smp.c b/arch/arc/kernel/smp.c > > > [] > > > > @@ -103,7 +103,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus) > > > > * if platform didn't set the present map already, do it now > > > > * boot cpu is set to present already by init/main.c > > > > */ > > > > - if (num_present_cpus() <= 1) > > > > + if (num_present_cpus_le(2)) > > > > init_cpu_present(cpu_possible_mask); > > > > > > ? is this supposed to be 2 or 1 > > > > X <= 1 is the equivalent of X < 2. > > > > > > diff --git a/drivers/cpufreq/pcc-cpufreq.c b/drivers/cpufreq/pcc-cpufreq.c > > > [] > > > > @@ -593,7 +593,7 @@ static int __init pcc_cpufreq_init(void) > > > > return ret; > > > > } > > > > > > > > - if (num_present_cpus() > 4) { > > > > + if (num_present_cpus_gt(4)) { > > > > pcc_cpufreq_driver.flags |= CPUFREQ_NO_AUTO_DYNAMIC_SWITCHING; > > > > pr_err("%s: Too many CPUs, dynamic performance scaling disabled\n", > > > > __func__); > > > > > > It looks as if the present variants should be using the same values > > > so the _le test above with 1 changed to 2 looks odd. > > > > I think the confusion comes from le meaning less than rather than lt. > Given the general convention of: lt (<), le (<=), eg (=), ge (>=), > gt (>), I'd consider renaming your le to lt. Ok, makes sense. I'll rename in v2 and add <= and >= versions.