|
Subject: [RFC][PATCH 0/4] new human-time soft-timer subsystem Newsgroups: gmane.linux.kernel Date: 2005-07-14 20:26:29 GMT (3 years, 50 weeks, 5 days, 3 hours and 43 minutes ago) 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 |
|
|