test_udelay had a tolerance of udelay() being up to 0.5% fast but that tolerance is insufficient for some platforms. For ARM, the error is around 0.7% so increase the test to allow for up to 1% which was previously described as being acceptable for udelay().
See the following thread for more details: http://lists.openwall.net/linux-kernel/2011/01/12/372 Cc: John Stultz <john.stu...@linaro.org> Cc: Thomas Gleixner <t...@linutronix.de> Cc: Russell King <rmk+ker...@armlinux.org.uk> Signed-off-by: David Riley <davidri...@chromium.org> --- kernel/time/test_udelay.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/time/test_udelay.c b/kernel/time/test_udelay.c index b0928ab..5212925 100644 --- a/kernel/time/test_udelay.c +++ b/kernel/time/test_udelay.c @@ -39,8 +39,8 @@ static int udelay_test_single(struct seq_file *s, int usecs, uint32_t iters) uint64_t sum = 0; uint64_t avg; int i; - /* Allow udelay to be up to 0.5% fast */ - int allowed_error_ns = usecs * 5; + /* Allow udelay to be up to 1% fast */ + int allowed_error_ns = usecs * 10; for (i = 0; i < iters; ++i) { s64 kt1, kt2; -- 2.2.1