Skip to content

RFC new human-time soft-timer subsystem

Nishanth Aravamudan lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest4 patches 6 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4add jiffies_to_nsecs() helper and fix up size of usecsinclude/linux/jiffies.h+13 -24 replies
2/4human-time soft-timer core changesinclude/linux/time.h include/linux/timer.h kernel/time.c +1 more+220 -410 replies
2/4human-time soft-timer core changesinclude/linux/time.h include/linux/timer.h kernel/time.c +1 more+157 -290 replies
3/4new human-time schedule_timeout() functionsinclude/linux/sched.h include/linux/time.h kernel/timer.c+158 -00 replies
4/4convert sys_nanosleep() to use set_timer_nsecs()include/linux/time.h kernel/timer.c+45 -120 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [RFC][PATCH 0/4] new human-time soft-timer subsystem

On 14.07.2005 [12:18:41 -0700], john stultz wrote:

<snip>

Quoted 5 lines

Nish has some code, which I hope he'll be sending out shortly that does just this, converting the soft-timer subsystem to use absolute time instead of ticks for expiration. I feel it both simplifies the code and makes it easier to changing the timer interrupt frequency while the system is running.

Here's the set of patches John promised :)

1/4: add jiffies conversion helper functions

2/4: core human-time modifications to soft-timer subsystem

3/4: add new human-time schedule_timeout() functions

4/4: rework sys_nanosleep() to use schedule_timeout_nsecs()

The individual patches have more details, but the gist is this:

We no longer use jiffies (the variable) as the basis for determining what "time" a timer should expire or when it should be added. Instead, we use a new function, do_monotonic_clock(), which is simply a wrapper for getnstimeofday(). That is to say, we use uptime in nanoseconds. But, to avoid modifying the existing soft-timer algorithm, we convert the 64-bit nanosecond value to "timerinterval" units. These units are simply 2^TIMEINTERVAL_BITS nanoseconds in length (thus determined at compile time).

To sum up, soft-timers now use time (as defined by the timeofday-subsystem) not ticks. Hopefully, the individual e-mails/patches make this change clear.

Thanks,
Nish