Compile error with latency tracing and no ktimers on i386:
CC kernel/ktimers.o
kernel/ktimers.c: In function ‘enqueue_ktimer’:
kernel/ktimers.c:756: error: incompatible type for argument 1 of
‘trace_special_u64’
make[1]: *** [kernel/ktimers.o] Error 1
make: *** [kernel] Error 2
#diff defconfig .config
#4c4
#< # Tue Nov 15 03:19:31 2005
#---
#> # Tue Nov 15 03:20:21 2005
#163d162
#< # CONFIG_REGPARM is not set
#1434c1433,1434
#< # CONFIG_LATENCY_TRACE is not set
#---
#> CONFIG_LATENCY_TRACE=y
#> CONFIG_MCOUNT=y
#1437a1438
#> CONFIG_FRAME_POINTER=y
Index: linux-rt/include/linux/ktimer.h
===================================================================
--- linux-rt.orig/include/linux/ktimer.h
+++ linux-rt/include/linux/ktimer.h
@@ -167,8 +167,11 @@ static inline int ktimer_interrupt(void)
return 0;
}
-#define ktimer_trace(a,b) trace_special_u64(a,b)
-
+# if (BITS_PER_LONG == 64)
+# define ktimer_trace(a,b) trace_special_u64(a,b)
+# else
+# define ktimer_trace(a,b) trace_special(ktime_get_high(a),ktime_get_low(a),b)
+# endif
#endif
/* Exported timer functions: */