Hungry for hardware timers

Jaswinder Singh Rajput
2010-09-07T06:32:13Z

Hello,

I am investigating how many hardware timers are available for kernel,
system applications and user applications for x86 platforms.
Is there any help available for it so that systems developers can use
a hook up an interrupt and use any hardware timer.

In APIC timer, but each core is having only one timer and it is
already utilized by Linux :
... APIC TMICT: 00002078
... APIC TMCCT: 00000b5f
... APIC TDCR: 00000003

HPET have 3 timers :
[ 0.328157] hpet: ID: 0x8086a201, PERIOD: 0x429b17f
[ 0.328315] hpet: CFG: 0x3, STATUS: 0x0
[ 0.328472] hpet: COUNTER_l: 0x6ff120, COUNTER_h: 0x0
[ 0.329006] hpet: T0: CFG_l: 0x138, CFG_h: 0xf00000
[ 0.329165] hpet: T0: CMP_l: 0x701baa, CMP_h: 0x0
[ 0.329324] hpet: T0 ROUTE_l: 0x0, ROUTE_h: 0x0
[ 0.329483] hpet: T1: CFG_l: 0x0, CFG_h: 0xf00000
[ 0.330006] hpet: T1: CMP_l: 0xffffffff, CMP_h: 0x0
[ 0.330166] hpet: T1 ROUTE_l: 0x0, ROUTE_h: 0x0
[ 0.331005] hpet: T2: CFG_l: 0x0, CFG_h: 0xf00800
[ 0.331168] hpet: T2: CMP_l: 0xdf751c, CMP_h: 0x0
[ 0.331328] hpet: T2 ROUTE_l: 0x0, ROUTE_h: 0x0

T0 and T2 is already used by Linux and T1 is used for RTC

System 8254 timer have 3 timers but it seems it is also used by Linux :
[ 4923.510233] 0: 83ae 1: 1102 2: 37f2
[ 4923.510251] 0: 8382 1: d10 2: 37dc

So I am curious why Linux kernel is consuming so many timers. And how
can I get spare hardware timers.