Ar Mer, 2006-06-28 am 08:43 -0700, ysgrifennodd John Hawkes:Alan, I agree with Arjan's solution as well. From a very novice point of view, it makes sense to #define HZ as a syscall (which it technically should be anyway, right?). Any performance hit isn't our problem... people should have been using the syscall to begin with... we're just forcing it on them this way! :-) That's my $0.02
#define HZ sysconf(_SC_CLK_TCK)That did occur to me. It obviously does get the correct value. The downside
is that one of those crufty apps that thinks it is using "HZ" as a constant
will instead be invoking a more costly syscall. Should we care about the
resulting performance impact?
Given that HZ can be cached by glibc the performance impact is minimal
for most cases. The bigger problem will be code that does things with HZ
that only work on compile time evaluation. At least for those you'll
break at compile time.
Either way its kind of irrelevant, the ABI set HZ. Its done, there are
plenty of ways to change the kernel HZ without confusing userspace.
Alan