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

Reply via email to