Commit b7cffc1f29c1bc729bc50c863c87f93f9b70994b

Authored by Mike Frysinger
Committed by Linus Torvalds
1 parent 772279c5f1

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>

Showing 5 changed files with 13 additions and 5 deletions Side-by-side Diff

include/asm-alpha/param.h
... ... @@ -5,8 +5,12 @@
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  
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
include/asm-um/param.h
... ... @@ -13,6 +13,8 @@
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
include/asm-v850/param.h
... ... @@ -26,6 +26,8 @@
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__ */
include/asm-xtensa/param.h
... ... @@ -15,6 +15,8 @@
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