On Tue, 2011-03-08 at 09:57 +0300, Mike Cookson wrote:
On attempt to use device (or even just try 'cat
/dev/hpet'), it is
said, that device is busy. But jack has such option :/
I'm using kernel 2.6.33-rt. I can guess, that under rt kernel i should
not use HPET directly, because it is used by system,
and so, may be referred via 'system'. But even if that, such way could
bring some violations comparing to direct HPET usage.
May be indeed, HPET should be used directly only on non-rt systems?..
Btw, how i specified it: i have jack2 and ladish. Clock is specified
via ladiconf. Clock parameter type is integer; yesterday nedko showed
me a patch for jack, fixing this problem, where i saw order of
variants in enumeration (hpet variant is '2').
Jack's HPET support has an issue: /dev/hpet can only be opened a limited
number of times. When you use -c hpet, as well as Jack itself, each
client has /dev/hpet opened twice; once as an fd, and once as mmap. On
my systems /dev/hpet is limited to 3 or 4 opens, so this is practically
unusable for any Jack setup.
However you can tell the kernel to use HPET itself for the system clock:
echo hpet > /sys/devices/system/clocksource/clocksource0/current_clocksource
or put "clocksource=hpet" in your boot up command line.
And then -c system will use HPET, indirectly.
Peter.