Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

asm-{alpha,h8300,um,v850,xtensa}/param.h: unbreak HZ for userspace

I noticed this because alpha was broken due to the recent commit commit
bdc807871d58285737d50dc6163d0feb72cb0dc2 ("avoid overflows in
kernel/time.c"). Most arches do something like this in their
asm/param.h:

#ifdef __KERNEL__
# define HZ CONFIG_HZ
#else
# define HZ 100
#endif

A few arches though (namely alpha/h8300/um/v850/xtensa) either do no set
HZ at all for !__KERNEL__, or they set it wrongly. This should bring all
arches in line by setting up HZ for userspace.

Without this currently perl 5.10 doesn't build on alpha:

perl.c: In function 'perl_construct':
perl.c:388: error: 'CONFIG_HZ' undeclared (first use in this function)
-> http://buildd.debian.org/fetch.cgi?pkg=perl;ver=5.10.0-10;arch=alpha;stamp=1210252894

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Chris Zankel <chris@zankel.net>
Cc: maximilian attems <max@stro.at>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
[ HZ on alpha is 1024 for historical reasons. - Linus ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Mike Frysinger and committed by
Linus Torvalds
b7cffc1f 772279c5

+13 -5
+4
include/asm-alpha/param.h
··· 5 5 hardware ignores reprogramming. We also need userland buy-in to the 6 6 change in HZ, since this is visible in the wait4 resources etc. */ 7 7 8 + #ifdef __KERNEL__ 8 9 #define HZ CONFIG_HZ 9 10 #define USER_HZ HZ 11 + #else 12 + #define HZ 1024 13 + #endif 10 14 11 15 #define EXEC_PAGESIZE 8192 12 16
+3 -5
include/asm-h8300/param.h
··· 1 1 #ifndef _H8300_PARAM_H 2 2 #define _H8300_PARAM_H 3 3 4 - 5 - #ifndef HZ 6 - #define HZ CONFIG_HZ 7 - #endif 8 - 9 4 #ifdef __KERNEL__ 5 + #define HZ CONFIG_HZ 10 6 #define USER_HZ HZ 11 7 #define CLOCKS_PER_SEC (USER_HZ) 8 + #else 9 + #define HZ 100 12 10 #endif 13 11 14 12 #define EXEC_PAGESIZE 4096
+2
include/asm-um/param.h
··· 13 13 #define HZ CONFIG_HZ 14 14 #define USER_HZ 100 /* .. some user interfaces are in "ticks" */ 15 15 #define CLOCKS_PER_SEC (USER_HZ) /* frequency at which times() counts */ 16 + #else 17 + #define HZ 100 16 18 #endif 17 19 18 20 #endif
+2
include/asm-v850/param.h
··· 26 26 # define HZ CONFIG_HZ 27 27 # define USER_HZ 100 28 28 # define CLOCKS_PER_SEC USER_HZ 29 + #else 30 + # define HZ 100 29 31 #endif 30 32 31 33 #endif /* __V850_PARAM_H__ */
+2
include/asm-xtensa/param.h
··· 15 15 # define HZ CONFIG_HZ /* internal timer frequency */ 16 16 # define USER_HZ 100 /* for user interfaces in "ticks" */ 17 17 # define CLOCKS_PER_SEC (USER_HZ) /* frequnzy at which times() counts */ 18 + #else 19 + # define HZ 100 18 20 #endif 19 21 20 22 #define EXEC_PAGESIZE 4096