Re: [PATCH v2 0/3] x86/process: Optimize __switch_to_xtra()

From: Kyle Huey
Date: Wed Mar 08 2017 - 17:08:37 EST


On Tue, Feb 28, 2017 at 10:33 AM, Kyle Huey <me@xxxxxxxxxxxx> wrote:
> On Tue, Feb 14, 2017 at 12:11 AM, Kyle Huey <me@xxxxxxxxxxxx> wrote:
>> GCC generates lousy code in __switch_to_xtra. This patch series is an
>> updated version of tglx's patches from last year
>> (https://lkml.org/lkml/2016/12/15/432) that address review comments.
>>
>> Since v1:
>> Part 1 - x86/process: Optimize TIF checks in __switch_to_xtra()
>> - READ_ONCE annotations added as requested by Andy Lutomirski
>>
>> Part 2 - x86/process: Correct and optimize TIF_BLOCKSTEP switch
>> - DEBUGCTLMSR_BTF is now modified when either the previous or
>> next or both tasks use it, because the MSR is "highly magical".
>>
>> Part 3 - x86/process: Optimize TIF_NOTSC switch
>> - Unchanged
>>
>> I didn't introduce a cpufeature for blockstep because that would
>> add additional overhead compared to the existing code, where it's
>> generally known at compile time that blockstep is supported. Perhaps
>> we should just BUG_ON(!arch_has_block_step()) here if we really
>> care to check anything.
>>
>> arch/x86/include/asm/msr-index.h | 1 +
>> arch/x86/include/asm/tlbflush.h | 10 ++++++++++
>> arch/x86/kernel/process.c | 76 +++++++++++++++++++++++++++++++++++-----------------------------------------
>> 3 files changed, 46 insertions(+), 41 deletions(-)
>>
>
> Has anyone had a change to look at these?

Maybe now that the 4.11 merge window is closed? :)

- Kyle