On Thu, Sep 03, 2009 at 10:38:44AM +0200, Ingo Molnar wrote: > * Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > > Today's linux-next build (powerpc ppc64_defconfig) produced these warning: > > > > In file included from include/trace/ftrace.h:285, > > from include/trace/define_trace.h:61, > > from include/trace/events/timer.h:342, > > from kernel/timer.c:50: > > include/trace/events/timer.h: In function 'ftrace_raw_output_itimer_state': > > include/trace/events/timer.h:280: warning: format '%lu' expects type 'long unsigned int', but argument 4 has type 'cputime_t' > > include/trace/events/timer.h: In function 'ftrace_raw_output_itimer_expire': > > include/trace/events/timer.h:317: warning: format '%lu' expects type 'long unsigned int', but argument 5 has type 'cputime_t' > > Should be harmless with no runtime effects - the fix would be to > harmonize the cputime_t types across architectures. > > > Introduced by commit 3f0a525ebf4b8ef041a332bbe4a73aee94bb064b ("timers: Add tracepoints for itimer") from the tip tree. > > > > cputime_t is variously "u64", "unsigned long long" and "unsigned > > long" on different architectures. > > Should be unsigned long i think. Most architectures use it as > unsigned long via include/asm-generic/cputime.h, except these three: > > arch/ia64/include/asm/cputime.h:typedef u64 cputime_t; > arch/powerpc/include/asm/cputime.h:typedef u64 cputime_t; > arch/s390/include/asm/cputime.h:typedef unsigned long long cputime_t; > > Or we could eliminate the type altogether as well and standardize on > u64. Thomas? s390 uses 64 bit cputime_t because we want the high resolution also in 32 bit kernels. So standardizing on u64 would be the preferred solution for us. -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html