is the tickless kernel now the "standard"?
given that ubuntu ships with the kernel configured for tickless behaviour, and that RHEL6 also ships tickless, is it safe to say that tickless is now the standard configuration? is there a compelling reason to *not* run tickless with the latest 2.6 kernels? rday -- ======================================================================== Robert P. J. Day Ottawa, Ontario, CANADA http://crashcourse.ca Twitter: http://twitter.com/rpjday LinkedIn: http://ca.linkedin.com/in/rpjday ========================================================================
On Sun, May 15, 2011 at 12:41:30PM -0400, Robert P. J. Day wrote:
given that ubuntu ships with the kernel configured for tickless behaviour, and that RHEL6 also ships tickless, is it safe to say that tickless is now the standard configuration? is there a compelling reason to *not* run tickless with the latest 2.6 kernels?
Yes it is the "standard" and no, there is not any reason to not enable it. Unless you like burning extra power for no reason. greg k-h
On Sun, 15 May 2011, Greg KH wrote:
On Sun, May 15, 2011 at 12:41:30PM -0400, Robert P. J. Day wrote:
given that ubuntu ships with the kernel configured for tickless behaviour, and that RHEL6 also ships tickless, is it safe to say that tickless is now the standard configuration? is there a compelling reason to *not* run tickless with the latest 2.6 kernels?
Yes it is the "standard" and no, there is not any reason to not enable it. Unless you like burning extra power for no reason.
ok, good to know. i assume, then, that it's fairly pointless to use the value of "jiffies" for anything that requires even moderate accuracy. i was poking around the timer code, and i can see this in kernel/time/timekeeping.c: /* * The 64-bit jiffies value is not atomic - you MUST NOT read it * without sampling the sequence number in xtime_lock. * jiffies is defined in the linker script... */ void do_timer(unsigned long ticks) { jiffies_64 += ticks; update_wall_time(); calc_global_load(ticks); } so obviously jiffies_64 can jump up an arbitrary number of ticks on any call. i can also see where that routine is called in kernel/time/tick-sched.c: static void tick_do_update_jiffies64(ktime_t now) { unsigned long ticks = 0; ktime_t delta; ... snip ... } do_timer(++ticks); etc, etc. i may read more just to fill out the missing bits, unless there's a decent online explanation of how jiffies works in the context of tickless kernels. thanks. rday -- ======================================================================== Robert P. J. Day Ottawa, Ontario, CANADA http://crashcourse.ca Twitter: http://twitter.com/rpjday LinkedIn: http://ca.linkedin.com/in/rpjday ========================================================================
On Sun, May 15, 2011 at 01:48:43PM -0400, Robert P. J. Day wrote:
On Sun, 15 May 2011, Greg KH wrote:
On Sun, May 15, 2011 at 12:41:30PM -0400, Robert P. J. Day wrote:
given that ubuntu ships with the kernel configured for tickless behaviour, and that RHEL6 also ships tickless, is it safe to say that tickless is now the standard configuration? is there a compelling reason to *not* run tickless with the latest 2.6 kernels?
Yes it is the "standard" and no, there is not any reason to not enable it. Unless you like burning extra power for no reason.
ok, good to know. i assume, then, that it's fairly pointless to use the value of "jiffies" for anything that requires even moderate accuracy. i was poking around the timer code, and i can see this in kernel/time/timekeeping.c:
No, never access jiffies directly, use the correct delay and timer functions instead, they will handle things properly. And that's the way to get correct accuracy if you need it. thanks, greg k-h
Hi! On 11:01 Sun 15 May , Greg KH wrote:
On Sun, May 15, 2011 at 01:48:43PM -0400, Robert P. J. Day wrote: ...
ok, good to know. i assume, then, that it's fairly pointless to use the value of "jiffies" for anything that requires even moderate accuracy. i was poking around the timer code, and i can see this in kernel/time/timekeeping.c:
No, never access jiffies directly, use the correct delay and timer functions instead, they will handle things properly. And that's the way to get correct accuracy if you need it.
When switchint from jiffies+timers to hrtimers what should be used as a monotonic time source? ktime_get()? What am I supposed to do if timekeeping_valid_for_hres() returns 0? Can I ignore this? What does it mean this highres timer are not available during system startup? Are they running with lower resolution or not at all? -Michi
On 06:42 Mon 16 May , Michael Blizek wrote: ...
What does it mean this highres timer are not available during system startup? Are they running with lower resolution or not at all?
Sorry, I should have read to the end...
From Documentation/timers/highres.txt Up to the point where hrtimers are initialized, the system works in the usual low resolution periodic mode.
-Michi
participants (3)
-
Greg KH -
Michael Blizek -
Robert P. J. Day