Re: [PATCH v2/resend] tracing: eliminate const char[] auto variables

From: Steven Rostedt
Date: Tue Mar 19 2019 - 12:39:29 EST


On Mon, 18 Mar 2019 21:53:57 +0000
Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:

> On Mon, Mar 18, 2019 at 10:34:27PM +0100, Rasmus Villemoes wrote:
>
> > I didn't get any response to this; just let me know if you don't want
> > this kind of microoptimization patches.

It got lost in my inbox, which should happen less, now that I got
patchwork running on it ;-)

>
> Umm... What's wrong with "%*s", width, "" instead of those games?
> As in
> {
> bool tgid = flags & TRACE_ITER_RECORD_TGID;
> int width = tgid ? 10 : 2;
>
> print_event_info(buf, m);
>
> seq_printf(m, "# %*s _-----=> irqs-off\n",
> width, "");
> seq_printf(m, "# %*s / _----=> need-resched\n",
> width, "");
> seq_printf(m, "# %*s| / _---=> hardirq/softirq\n",
> width, "");
> seq_printf(m, "# %*s|| / _--=> preempt-depth\n",
> width, "");
> seq_printf(m, "# %*s||| / delay\n",
> width, "");
> seq_printf(m, "# TASK-PID %*sCPU# |||| TIMESTAMP FUNCTION\n",
> width, tgid ? "TGID " : "");
> seq_printf(m, "# | | %*s | |||| | |\n",
> width, "");
> }
> and bugger those constants...

That's a possibility.

>
> PS: it's very tempting to add some warlording to that piece of... ASCII art

Yeah, this code all came from the original "latency-tracer" that was in
the PREEMPT_RT patch set, and had some historical crud attached.

I'm fine with switching it to use the *s notation.

Rasmus, want to send another patch?

I have no issues with your other changes.

-- Steve