....since some architectures don't support __udivdi3() (and we don't want to use that, anyway). Signed-off-by: Segher Boessenkool --- include/linux/time.h | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) Index: linux-2.6.24/include/linux/time.h =================================================================== --- linux-2.6.24.orig/include/linux/time.h 2008-06-23 11:17:09.021841180 +0200 +++ linux-2.6.24/include/linux/time.h 2008-06-23 11:18:34.445167140 +0200 @@ -173,6 +173,11 @@ { ns += a->tv_nsec; while(unlikely(ns >= NSEC_PER_SEC)) { + /* The following asm() prevents the compiler from + * optimising this loop into a modulo operation. + */ + asm("" : "+r"(ns)); + ns -= NSEC_PER_SEC; a->tv_sec++; }