Re: [PATCH 1/2] x86/asm/entry/32: Open-code CLEAR_RREGS. No code changes.

From: Ingo Molnar
Date: Wed Jun 03 2015 - 03:04:57 EST



* Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> On Tue, 2 Jun 2015 21:04:01 +0200
> Denys Vlasenko <dvlasenk@xxxxxxxxxx> wrote:
>
> > This macro is small, has only four callsites, and one of them is slightly
> > different using a conditional parameter.
> >
> > A few saved lines aren't worth the resulting obfuscation.
>
> I'm curious, why? Did someone recommend this change? I don't see it as
> obfuscation at all.

So here are a few easy questions, I'm wondering how many minutes it takes for you
to answer them correctly:

- What does the CLEAR_RREGS name stand for?

- What is this macro's purpose?

- In a single case CLEAR_RREGS takes a 'r9' argument:

arch/x86/ia32/ia32entry.S: CLEAR_RREGS
arch/x86/ia32/ia32entry.S: CLEAR_RREGS
arch/x86/ia32/ia32entry.S: CLEAR_RREGS r9
arch/x86/ia32/ia32entry.S: CLEAR_RREGS
arch/x86/ia32/ia32entry.S: CLEAR_RREGS

What is the 'r9' argument's purpose and why is activated in the place where
it's activated?

The CLEAR_RREGS macro has zero comments. If it takes more than a quick glance to
determine all these three first-order questions from the source code, then it's an
obvious code cleanliness fail which needs to be improved.

Thanks,

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