Re: [PATCH 6/6] x86/vdso: Use static_cpu_has()

From: Borislav Petkov
Date: Mon Jan 25 2016 - 13:59:29 EST

We discussed this on IRC, here's the gist:

On Mon, Jan 25, 2016 at 10:45:30AM -0800, Andy Lutomirski wrote:
> On Sun, Jan 24, 2016 at 1:28 AM, Borislav Petkov <bp@xxxxxxxxx> wrote:
> > From: Borislav Petkov <bp@xxxxxxx>
> >
> > ... and simplify and speed up a tad.
> This function is only used when initializing CPUs, so the "tad" is
> very small indeed.

... except it'll pay out when the branch is patched in. Considering
that the majority of the modern CPUs out there - BSP and APs :-) - have
RDTSCP, this check will turn into a 5-byte NOP which is the most optimal
we can get. Yeah, it is still an init path so called once on each CPU
but still.

> If there are systems for which some cpus support rdtscp and some
> don't, then this patch is wrong. Of course, if the bsp has rdtscp and
> the aps don't, then we're screwed anyway.

That would be a very odd case.

> I left it as cpu_has because this is a cpu init function and it seemed
> reasonable.

Yeah, I see what you mean. But it costs us only the patching and after
that we win from not needing for fetch boot_cpu_data anymore on the APs
coming up.

Not a panties-dropper speedup but I still think it is worth the trouble.

> That being said, I have no meaningful objection to this patch.



ECO tip #101: Trim your mails when you reply.