Re: 2.6.25-rc5-mm1: NO_HZ=Y && PREEMPT_RCU=Y fails to build

Laurent Riffard
2008-03-12T07:21:52Z

Le 11.03.2008 09:14, Andrew Morton a écrit :
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.25-rc5/2.6.25-rc5-mm1/
>

The kernel won't build if CONFIG_NO_HZ=y and CONFIG_PREEMPT_RCU=y:

$ grep -e PREEMPT -e HZ .config
CONFIG_NO_HZ=y
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
CONFIG_PREEMPT_RCU=y
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_DEBUG_PREEMPT=y
$
$ make
...
CC init/main.o
In file included from include/linux/rcupdate.h:60,
from include/linux/rculist.h:11,
from include/linux/dcache.h:9,
from include/linux/fs.h:279,
from include/linux/proc_fs.h:6,
from init/main.c:15:
include/linux/rcupreempt.h: In function 'rcu_enter_nohz':
include/linux/rcupreempt.h:91: error: 'HZ' undeclared (first use in this function)
include/linux/rcupreempt.h:91: error: (Each undeclared identifier is reported only once
include/linux/rcupreempt.h:91: error: for each function it appears in.)
include/linux/rcupreempt.h: In function 'rcu_exit_nohz':
include/linux/rcupreempt.h:99: error: 'HZ' undeclared (first use in this function)
make[1]: *** [init/main.o] Error 1
make: *** [init] Error 2
$

At first glance, I would suspect these patches:
add-warn_on_secs-macro.patch
use-warn_on_secs-in-rcupreempth.patch

~~
laurent