Skip to content

unify arch/x86/kernel/tlb.c

Jeremy Fitzhardinge lkml 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest4 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4x86-32: use smp_call_function_mask for SMP TLB invalidationsarch/x86/kernel/apic_32.c arch/x86/kernel/tlb_32.c include/asm-x86/irq_vectors.h+0 -10 replies
2/4x86-64: use smp_call_function_mask for SMP TLB invalidationsarch/x86/kernel/entry_64.S arch/x86/kernel/irqinit_64.c arch/x86/kernel/tlb_64.c +3 more+1 -30 replies
3/4x86: bring tlb_32.c and _64.c into alignmentarch/x86/kernel/tlb_32.c arch/x86/kernel/tlb_64.c+1 -20 replies
4/4x86: unify tlb.carch/x86/kernel/Makefile arch/x86/kernel/tlb.c arch/x86/kernel/tlb_32.c +1 more+229 -3840 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/4] unify arch/x86/kernel/tlb.c

This series converts tlb_32.c and _64.c to use smp_call_function_mask. Having done that, their underlying similarity is plainly revealed, and they can be easily unified.

The result is the removal of ~270 lines of code, most of which was a pair of open-coded versions of what smp_call_function_mask does anyway. The remaining code is much clearer as a result.

I've given these patches some mild testing, and nothing exploded. I'm actually fairly confident in them, since all the complex subtle stuff is now in smp_call_function_mask, so if anything breaks, it's probably going to be in there.

And though I dare not touch it, Voyager could probably be converted to use this code fairly simply as well.

J

--

arch/x86/kernel/Makefile      |    2 arch/x86/kernel/entry_64.S    |   15 --
arch/x86/kernel/irqinit_64.c  |   10 -
arch/x86/kernel/tlb.c         |  229 ++++++++++++++++++++++++++++++++++
arch/x86/kernel/tlb_32.c      |  191 ----------------------------
arch/x86/kernel/tlb_64.c      |  279 ------------------------------------------
arch/x86/kernel/tlb_uv.c      |    5 include/asm-x86/irq_vectors.h |    4 include/asm-x86/uv/uv_bau.h   |    2 9 files changed, 234 insertions(+), 503 deletions(-)