lkml.org 
[lkml]   [2016]   [Apr]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 0/5] x86 switch_mm uninlining and IRQ improvements
On Tue, Apr 26, 2016 at 09:39:04AM -0700, Andy Lutomirski wrote:
> Hi all-
>
> I've been playing with context switching lately, and I'm going to start
> sending out some of the patches that should be mostly self-contained and
> ready for -tip.
>
> Here's a little batch to start improving switch_mm. It uninlines it
> and makes it run with IRQs off. (AFAICT everyone who's modified it
> thought it ran with IRQs off, but that's not always the case. I
> don't know of any bugs that this fixes, but it'll be needed for PCID
> to avoid introducing really nasty races.)
>
> This may also help a bit with FSGSBASE -- not sure yet. It certainly
> won't hurt.
>
> It contains a trivial off-topic ARM patch to avoid breaking the build.
>
> Andy Lutomirski (5):
> arm: Include linux/preempt.h from asm/mmu_context.h
> sched: Add switch_mm_irqs_off and use it in the scheduler
> x86/mm: Build arch/x86/mm/tlb.c even on !SMP
> x86/mm: Uninline switch_mm
> x86/mm: Turn off IRQs in switch_mm
>
> arch/arm/include/asm/mmu_context.h | 1 +
> arch/x86/include/asm/mmu_context.h | 101 ++------------------------------
> arch/x86/mm/Makefile | 3 +-
> arch/x86/mm/tlb.c | 116 +++++++++++++++++++++++++++++++++++++
> include/linux/mmu_context.h | 7 +++
> kernel/sched/core.c | 6 +-
> 6 files changed, 133 insertions(+), 101 deletions(-)

Reviewed-by: Borislav Petkov <bp@suse.de>

There was a concern that maybe disabling IRQs in
exec_mmap->activate_mm()->switch_mm() would be a little bit of a
slowdown but that's not a hot path anyway.

--
Regards/Gruss,
Boris.

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

\
 
 \ /
  Last update: 2016-04-27 20:41    [W:0.137 / U:0.336 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site