lkml.org 
[lkml]   [2004]   [Jun]   [21]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateMon, 21 Jun 2004 01:48:37 -0700
FromAndrew Morton <>
SubjectRe: 2.6.7-bk way too fast
Jeff Garzik <jgarzik@pobox.com> wrote:
>
> Something is definitely screwy with the latest -bk.

Would you believe that there is a totally separate bug in the latest -mm
which has exactly the same symptoms?

mark_offset_tsc() does

	if (lost && abs(delay - delay_at_last_interrupt) > (900000/HZ))
		jiffies_64++;
which is doing abs(unsigned long).

Which works OK if abs() in a function, but I made it a macro.

This fixes it up.


diff -puN include/linux/kernel.h~abs-fix-fix include/linux/kernel.h
--- 25/include/linux/kernel.h~abs-fix-fix	2004-06-21 01:42:24.283873616 -0700
+++ 25-akpm/include/linux/kernel.h	2004-06-21 01:43:08.150204920 -0700
@@ -55,7 +55,12 @@ void __might_sleep(char *file, int line)
 #endif
 
 #define abs(x) ({				\
-		typeof(x) __x = (x);		\
+		int __x = (x);			\
+		(__x < 0) ? -__x : __x;		\
+	})
+
+#define labs(x) ({				\
+		long __x = (x);			\
 		(__x < 0) ? -__x : __x;		\
 	})
 
_
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:04    [from the cache]
©2003-2008