From: Julia Lawall From: Julia Lawall The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the semantic patch making this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @ change_compare_np @ expression E; @@ ( - jiffies <= E + time_before_eq(jiffies,E) | - jiffies >= E + time_after_eq(jiffies,E) | - jiffies < E + time_before(jiffies,E) | - jiffies > E + time_after(jiffies,E) ) @ include depends on change_compare_np @ @@ #include @ no_include depends on !include && change_compare_np @ @@ #include + #include // Signed-off-by: Julia Lawall Cc: Neil Brown Signed-off-by: Andrew Morton --- drivers/md/raid6algos.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff -puN drivers/md/raid6algos.c~drivers-md-use-time_before-time_before_eq-etc drivers/md/raid6algos.c --- a/drivers/md/raid6algos.c~drivers-md-use-time_before-time_before_eq-etc +++ a/drivers/md/raid6algos.c @@ -121,7 +121,8 @@ int __init raid6_select_algo(void) j0 = jiffies; while ( (j1 = jiffies) == j0 ) cpu_relax(); - while ( (jiffies-j1) < (1 << RAID6_TIME_JIFFIES_LG2) ) { + while ( time_before(jiffies, + j1 + (1<gen_syndrome(disks, PAGE_SIZE, dptrs); perf++; } _