Messages in this thread | | | Date | Thu, 14 Jul 2005 13:26:29 -0700 | From | Nishanth Aravamudan <> | Subject | [RFC][PATCH 0/4] new human-time soft-timer subsystem |
| |
On 14.07.2005 [12:18:41 -0700], john stultz wrote:
<snip>
> 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 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |