[PATCH] kernel: time: Modify test_udelay to allow for 1% tolerance.

From: David Riley
Date: Mon Feb 20 2017 - 18:59:21 EST


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.stultz@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxx>
Signed-off-by: David Riley <davidriley@xxxxxxxxxxxx>
---
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