Re: [RFC PATCH 3/5] tracing/events: modify irq print to new format

From: Christoph Hellwig
Date: Wed Jun 10 2009 - 05:44:53 EST


On Mon, Jun 08, 2009 at 09:45:37PM -0400, Steven Rostedt wrote:
> -#define softirq_name(sirq) { sirq##_SOFTIRQ, #sirq }
> -#define show_softirq_name(val) \
> - __print_symbolic(val, \
> - softirq_name(HI), \
> - softirq_name(TIMER), \
> - softirq_name(NET_TX), \
> - softirq_name(NET_RX), \
> - softirq_name(BLOCK), \
> - softirq_name(TASKLET), \
> - softirq_name(SCHED), \
> - softirq_name(HRTIMER), \
> - softirq_name(RCU))
> +#define softirq_name(sirq) sirq##_SOFTIRQ, #sirq
> +#define show_softirq_name(val) \
> + "%d=%s,%d=%s,%d=%s,%d=%s,%d=%s,%d=%s,%d=%s,%d=%s,%d=%s>", \
> + softirq_name(HI), \
> + softirq_name(TIMER), \
> + softirq_name(NET_TX), \
> + softirq_name(NET_RX), \
> + softirq_name(BLOCK), \
> + softirq_name(TASKLET), \
> + softirq_name(SCHED), \
> + softirq_name(HRTIMER), \
> + softirq_name(RCU)

This is a massive readability and maintainabilit regression over the
old code. I now need to add a useless and counter-intuitive %d=%s,
boilerplate for every new flag I add instead ofa simple line-line
array entry.

Also why does show_softirq_name get a val argument passed that's never
used? And no, I don't think
%d=%s,%d=%s,%d=%s,%d=%s,%d=%s,%d=%s,%d=%s,%d=%s,%d=%s is an intuitive
way to print an enum.

--
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/