Re: [PATCH] kernel/time/tick-sched.c: fix warning of printk's argumentformat

From: Linus Torvalds
Date: Thu Oct 08 2009 - 11:06:03 EST




On Thu, 8 Oct 2009, Wu Zhangjin wrote:
>
> This patch will fix the following warning:

No it won't. It will add a lot of new warnings.

The thing is, almost all architectures (including x86) have

unsigned int __softirq_pending;

but then in <asm-generic/hardirq.h> we have

unsigned long __softirq_pending;

for some unfathomable reason. Quite frankly, I think Arnd just screwed up
the "generic" version, and the fix is almost certainly to just make the
generic version match all the main architectures.

I don't have any architectures using the generic header file, though, so
I'm not going to do that change blindly. People who do should look at it
(alpha, powerpc and mips look like the only ones that might be 64-bit, but
I didn't check very carefully - just grepped for it)

Added Cc's for some people that have worked on, or used, that generic
header file. Is there any possible reason why it is "unsigned long" in
that one?

Linus

---
> kernel/time/tick-sched.c: In function 'tick_nohz_stop_sched_tick':
> kernel/time/tick-sched.c:261: warning: format '%02x' expects type 'unsigned int', but argument 2 has type 'long unsigned int'
>
> Signed-off-by: Wu Zhangjin <wuzhangjin@xxxxxxxxx>
> ---
> kernel/time/tick-sched.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
> index e0f59a2..26370b0 100644
> --- a/kernel/time/tick-sched.c
> +++ b/kernel/time/tick-sched.c
> @@ -257,7 +257,7 @@ void tick_nohz_stop_sched_tick(int inidle)
> static int ratelimit;
>
> if (ratelimit < 10) {
> - printk(KERN_ERR "NOHZ: local_softirq_pending %02x\n",
> + printk(KERN_ERR "NOHZ: local_softirq_pending %02lx\n",
> local_softirq_pending());
> ratelimit++;
> }
> --
> 1.6.2.1
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/