is the tickless kernel now the "standard"?

Robert P. J. Day rpjday at crashcourse.ca
Sun May 15 13:48:43 EDT 2011


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
========================================================================



More information about the Kernelnewbies mailing list