• Andrew Morton's avatar
    [PATCH] Fix jiffies_to_time[spec | val] and converse to use · 0ebcfd99
    Andrew Morton authored
    From: george anzinger <george@mvista.com>
    
    In the current system (2.5.67) time_spec to jiffies, time_val to
    jiffies and the converse (jiffies to time_val and jiffies to
    time_spec) all use 1/HZ as the measure of a jiffie.  Because of the
    inability of the PIT to actually generate an accurate 1/HZ interrupt,
    the wall clock is updated with a more accurate value (999848
    nanoseconds per jiffie for HZ = 1000).  This causes a 1/HZ
    interpretation of jiffies based timing to run faster than the wall
    clock, thus causing sleeps and timers to expire short of the requested
    time.  Try, for example:
    
    time sleep 60
    
    This patch changes the conversion routines to use the same value as
    the wall clock update code to do the conversions.
    
    The actual math is almost all done at compile time.  The run time
    conversions require little if any more execution time.
    
    This patch must be applied after the patch I posted earlier today
    which fixed the CLOCK_MONOTONIC resolution issue.
    0ebcfd99
div64.h 813 Bytes