[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180206235402.GN30338@tassilo.jf.intel.com>
Date: Tue, 6 Feb 2018 15:54:02 -0800
From: Andi Kleen <ak@...ux.intel.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Dominik Brodowski <linux@...inikbrodowski.net>,
Ingo Molnar <mingo@...nel.org>,
Dan Williams <dan.j.williams@...el.com>,
Thomas Gleixner <tglx@...utronix.de>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Andrew Lutomirski <luto@...nel.org>,
the arch/x86 maintainers <x86@...nel.org>
Subject: Re: [PATCH tip-pti 2/2] x86/entry: interleave XOR register clearing
with PUSH/MOV instructions
> The reason for that complexity is purely the system call fastpath case
> that no longer exists, I think.
>
> Am I missing something?
Yes merging the macros should be fine without fast path.
But for push, on older CPUs (older AMD, most Atoms, really old Intel big core)
sub+mov is a lot faster than push because push has additional dependencies
causing pipeline bubbles. So you would make these cases slower if you
use PUSH.
That is no different between fast path and slow path.
-Andi
PS it was never fully clear to me why we removed the fast path. After all it
could still be useful on the future CPUs with Spectre hardware fixes.
Powered by blists - more mailing lists