Re: [PATCH tip/core/rcu 8/9] nohz_full: Add full-system-idle state machine

From: Geert Uytterhoeven
Date: Fri Sep 06 2013 - 04:08:34 EST


On Tue, Aug 20, 2013 at 4:47 AM, Paul E. McKenney
<paulmck@xxxxxxxxxxxxxxxxxx> wrote:
> --- a/kernel/time/Kconfig
> +++ b/kernel/time/Kconfig
> @@ -157,6 +157,33 @@ config NO_HZ_FULL_SYSIDLE
>
> Say N if you are unsure.
>
> +config NO_HZ_FULL_SYSIDLE_SMALL
> + int "Number of CPUs above which large-system approach is used"
> + depends on NO_HZ_FULL_SYSIDLE
> + range 1 NR_CPUS

This causes "kernel/time/Kconfig:162:warning: range is invalid" on m68k and
all other architectures that do not support SMP.

How to reproduce:
make ARCH=m68k defconfig

Furthermore, it seems only hexagon, metag, mips, and x86 set NR_CPUS to 1
if !SMP. On other architectures, NR_CPUS is not defined and presumed to be 0.

Hence in non-interactive configs (e.g. "make defconfig"),
NO_HZ_FULL_SYSIDLE_SMALL will end up as 0.
In interactive configs (e.g. "make oldconfig") Kconfig suggest "0" as
the default,
but refuses to accept it as it doesn't fall within the range 1..0.

How to reproduce:
Remove the "depends on NO_HZ_FULL_SYSIDLE"
make ARCH=powerpc mpc83xx_defconfig
grep NO_HZ_FULL_SYSIDLE_SMALL .config
-> CONFIG_NO_HZ_FULL_SYSIDLE_SMALL=0
sed 's/CONFIG_NO_HZ_FULL_SYSIDLE_SMALL=0//g' -i .config
make ARCH=powerpc oldconfig
-> no value is accepted

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/