From: Jamie Lokier <jamie@shareable.org>
To: "Richard B. Johnson" <root@chaos.analogic.com>
Cc: Arjan van de Ven <arjanv@redhat.com>,
Albert Cahalan <albert@users.sourceforge.net>,
"Randy.Dunlap" <rddunlap@osdl.org>,
Peter Williams <peterw@aurema.com>,
ak@muc.de, Richard.Curnow@superh.com, aeb@cwi.nl,
linux-kernel mailing list <linux-kernel@vger.kernel.org>
Subject: Re: finding out the value of HZ from userspace
Date: Thu, 1 Apr 2004 18:01:05 +0100 [thread overview]
Message-ID: <20040401170105.GF25502@mail.shareable.org> (raw)
In-Reply-To: <Pine.LNX.4.53.0404011146490.21282@chaos>
Richard B. Johnson wrote:
> > Not to get irritatingly back to the subject of this thread or
> > anything, but... is the value of HZ reported to userspace anywhere?
>
> I may be naive, but what's the matter with:
>
> #include <sys/param.h> // Required to be here!
> int main()
> {
> printf("HZ=%d\n", HZ);
> return 0;
> }
> It works for me.
It gives the wrong answer for HZ on 2.6 kernels. Try it.
The value called "HZ" we are talking about in this thread is the timer
interrupt frequency. On 2.6 kernels, on x86, that is 1000. Your
program prints 100.
The reason that you are able to use "HZ" from userspace and get the
wrong answer is that the macros have different names when used from
userspace than from kernelspace.
The value your program reports is what we mean by USER_HZ in this
thread. That macro is renamed to HZ when the kernel header
<linux/param.h> is included from userspace, for backward
source compatibility with some programs.
Your method also perpetuates the problem that USER_HZ is hard-coded as
a constant into programs, so cannot ever be changed. Perhaps the
header files should redefine "HZ" to call sysconf(_SC_CLK_TCK)
nowadays, but presently they don't.
-- Jamie
next prev parent reply other threads:[~2004-04-01 17:04 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-16 16:14 finding out the value of HZ from userspace Albert Cahalan
2004-03-16 17:22 ` Richard Curnow
2004-03-20 9:56 ` Arjan van de Ven
2004-03-20 14:54 ` Albert Cahalan
2004-03-20 23:58 ` Peter Williams
2004-03-31 21:40 ` Randy.Dunlap
2004-03-31 23:46 ` Albert Cahalan
2004-04-01 15:54 ` Jamie Lokier
2004-04-01 16:01 ` Arjan van de Ven
2004-04-01 16:30 ` Jamie Lokier
2004-04-01 16:50 ` Richard B. Johnson
2004-04-01 17:01 ` Jamie Lokier [this message]
2004-04-01 21:27 ` Michael Buesch
2004-04-02 0:16 ` Peter Williams
2004-04-02 0:07 ` Peter Williams
2004-04-02 0:39 ` Jamie Lokier
2004-04-02 1:44 ` Peter Williams
2004-04-02 18:28 ` Tim Bird
2004-04-02 22:05 ` Peter Williams
2004-04-01 16:12 ` Albert Cahalan
[not found] <1zkOe-Uc-17@gated-at.bofh.it>
[not found] ` <1zl7M-1eJ-43@gated-at.bofh.it>
[not found] ` <1zn9p-3mW-5@gated-at.bofh.it>
[not found] ` <1znj5-3wM-15@gated-at.bofh.it>
[not found] ` <1AaWr-655-7@gated-at.bofh.it>
2004-03-16 2:27 ` Andi Kleen
2004-03-16 5:53 ` Peter Williams
2004-03-16 6:16 ` Andi Kleen
2004-03-16 23:15 ` Peter Williams
2004-03-16 23:56 ` Andi Kleen
2004-03-17 0:15 ` Peter Williams
2004-03-16 9:16 ` Bernd Petrovitsch
2004-03-16 23:45 ` Peter Williams
[not found] <michf@post.tau.ac.il>
2004-03-11 14:17 ` Micha Feigin
2004-03-13 17:24 ` Arjan van de Ven
2004-03-13 19:34 ` John Reiser
2004-03-13 19:38 ` Arjan van de Ven
2004-03-13 22:14 ` Micha Feigin
2004-03-13 22:32 ` Arjan van de Ven
2004-03-14 1:05 ` Micha Feigin
2004-03-14 1:49 ` Andrew Morton
2004-03-14 14:37 ` Micha Feigin
2004-03-16 0:28 ` Peter Williams
2004-03-16 6:33 ` Arjan van de Ven
2004-03-16 23:38 ` Peter Williams
2004-03-20 10:22 ` Arjan van de Ven
2004-03-20 11:28 ` Stefan Smietanowski
2004-03-20 11:41 ` Arjan van de Ven
2004-03-20 23:58 ` Peter Williams
2004-03-21 1:09 ` Tim Schmielau
2004-03-21 1:30 ` Peter Williams
2004-03-21 8:00 ` Kai Henningsen
2004-03-21 10:32 ` Stefan Smietanowski
2004-03-22 22:34 ` Micha Feigin
2004-03-22 23:04 ` Peter Williams
2004-03-25 17:40 ` Jamie Lokier
2004-03-25 23:22 ` Peter Williams
2004-03-27 13:31 ` Jamie Lokier
2004-03-27 23:52 ` Peter Williams
2004-03-28 12:16 ` Jamie Lokier
2004-03-27 21:11 ` Micha Feigin
2004-03-20 23:26 ` Peter Williams
2004-03-13 21:19 ` tabris
2004-03-13 22:10 ` Micha Feigin
2004-03-13 22:41 ` Arjan van de Ven
2004-03-14 1:07 ` Micha Feigin
2004-03-14 18:26 ` John Reiser
2004-03-14 2:45 ` Horst von Brand
2004-03-14 14:39 ` Micha Feigin
2004-03-15 8:17 ` Jamie Lokier
2004-03-16 18:16 ` Mark Gross
2004-03-15 10:13 ` Richard Curnow
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040401170105.GF25502@mail.shareable.org \
--to=jamie@shareable.org \
--cc=Richard.Curnow@superh.com \
--cc=aeb@cwi.nl \
--cc=ak@muc.de \
--cc=albert@users.sourceforge.net \
--cc=arjanv@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=peterw@aurema.com \
--cc=rddunlap@osdl.org \
--cc=root@chaos.analogic.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox