Re: [PATCH] tracing: Cleanup the convoluted softirq tracepoints

From: Thomas Gleixner
Date: Tue Oct 19 2010 - 09:42:15 EST


On Tue, 19 Oct 2010, Mathieu Desnoyers wrote:

> * Thomas Gleixner (tglx@xxxxxxxxxxxxx) wrote:
> > With the addition of trace_softirq_raise() the softirq tracepoint got
> > even more convoluted. Why the tracepoints take two pointers to assign
> > an integer is beyond my comprehension.
> >
> > But adding an extra case which treats the first pointer as an unsigned
> > long when the second pointer is NULL including the back and forth
> > type casting is just horrible.
> >
> > Convert the softirq tracepoints to take a single unsigned int argument
> > for the softirq vector number and fix the call sites.
>
> Well, there was originally a reason for this oddness. The in __do_softirq(),
> "h - softirq_ve"c computation was not needed outside of the tracepoint handler
> in the past, but it now seems to be required with the new inlined
> "kstat_incr_softirqs_this_cpu()".

Dudes, a vector computation is hardly a performance problem in that
function and definitely not an excuse for designing such horrible
interfaces.

Thanks,

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