Messages in this thread | | | Subject | Re: finding out the value of HZ from userspace | From | Albert Cahalan <> | Date | 31 Mar 2004 18:46:58 -0500 |
| |
> | >>>>there is one. Nothing uses it > | >>>>(sysconf() provides this info) > | >>> > | >>>If you have a recent glibc on a recent kernel, it might. > | >>>You could also get a -1 or a supposed ABI value that > | >>>has nothing to do with the kernel currently running. > | >>>The most reliable way is to first look around on the > | >>>stack in search of ELF notes, and then fall back to > | >>>some horribly gross hacks as needed. > | >> > | >>eh sysconf() is the nice way to get to the ELF notes > | >>instead of having to grovel yourself. > | > > | > > | > Unless there is some hidden feature that lets > | > me specify the ELF note number directly, no way. > | > > | > The sysconf(_SC_CLK_TCK) call does not return an > | > error code when used on a 2.2.xx i386 kernel. > | > You get an arbitrary value that fails for ARM, > | > Alpha, and any system with modified HZ. > | > | As Linux is supposed to be POSIX compliant this is a bug and should be > | fixed. > > > My understanding (from a few years back) is that Linux is POSIX > if/when/where it makes sense, but not necessarily POSIX-just-to-be-POSIX.
The fixing has been done.
This is not yet helpful for app developers, because old kernels and old libraries are still in use.
If you rely on sysconf(_SC_CLK_TCK) to work, then your software will support:
* all systems with a 2.6.xx kernel * all systems with a 2.4.xx kernel and recent glibc * all i386 systems running with the default HZ
That's quite a bit I suppose. Maybe you have no interest in supporting a 1200 HZ Alpha with an old kernel or glibc. Maybe you don't care about somebody running a 2.2.xx kernel with modified HZ.
For the moment, I still care. I won't for long.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |