Re: HZ question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: "linux-os (Dick Johnson)" <[email protected]>

On Tue, 13 Sep 2005, Mark Hounschell wrote:

I need to know the kernels value of HZ in a userland app.

getconf CLK_TCK
     and
hz = sysconf (_SC_CLK_TCK)

both seem to return CLOCKS_PER_SEC which is defined as USER_HZ which is
defined as 100.

include/asm/param.h:

#ifdef __KERNEL__
# define HZ       1000   /* Internal kernel timer frequency */
# define USER_HZ  100    /* .. some user interfaces are in "ticks" */
# define CLOCKS_PER_SEC  (USER_HZ)       /* like times() */
#endif

Thanks in advance for any help
Mark

You are not supposed to 'tear apart' user-mode headers. In particular
you are not supposed to use anything in /usr/include/bits, /usr/include/asm,
or /usr/include/linux in user-mode programs. These are not POSIX headers.

Therefore, HZ is not something that is defined for user-mode programs.
the ANSI spec requires that things like clock() return a value that
can be divided by CLOCKS_PER_SEC to get CPU time. Nothing in user-mode
uses HZ.  That's the reason why later versions of the kernel are
able to use dynamic HZ.

That means Linux is not a suitable operating system for multimedia applications. MIDI needs to schedule in 1 ms or smaller increments. The userland application should be able to set this. It should be able to determine this. If it cannot
then it is useless. (It also explains why MIDI based applications are so
absolutely dreadful on Linux.)

{^_^} Joanne Dow said that.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux