Skip to content
  • Russell King's avatar
    delay: Add explanation of udelay() inaccuracy · 9f819798
    Russell King authored
    There seems to be some misunderstanding that udelay() and friends will
    always guarantee the specified delay.  This is a false understanding.
    When udelay() is based on CPU cycles, it can return early for many
    reasons which are detailed by Linus' reply to me in a thread in 2011:
    
      http://lists.openwall.net/linux-kernel/2011/01/12/372
    
    
    
    However, a udelay test module was created in 2014 which allows udelay()
    to only be 0.5% fast, which is outside of the CPU-cycles udelay()
    results I measured back in 2011, which were deemed to be in the "we
    don't care" region.
    
    test_udelay() should be fixed to reflect the real allowable tolerance
    on udelay(), rather than 0.5%.
    
    Cc: David Riley <davidriley@chromium.org>
    Cc: John Stultz <john.stultz@linaro.org>
    Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
    Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
    9f819798