Skip to content

x86-64 put current in r10

Benjamin LaHaise lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest9 patches 20 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/9x86-64 dont use r10 in AESarch/x86_64/crypto/aes-x86_64-asm.S+14 -130 replies
2/9x86-64 untangle seccomp.h vs thread_infoinclude/linux/seccomp.h+6 -90 replies
3/9x86-64 untangle smp.h vs thread_infoinclude/linux/smp.h+13 -120 replies
4/9x86-64 use task_thread_info()arch/x86_64/kernel/i387.c arch/x86_64/kernel/process.c arch/x86_64/kernel/smpboot.c +1 more+7 -70 replies
5/9x86-64 fix smp boot failure with thread_info changearch/x86_64/kernel/smpboot.c+4 -00 replies
6/9x86-64 dont use r10 in copy_user and csum-copyarch/x86_64/lib/copy_user.S arch/x86_64/lib/csum-copy.S+19 -150 replies
7/9x86-64 move thread_info into task_structarch/i386/oprofile/nmi_int.c arch/x86_64/kernel/asm-offsets.c arch/x86_64/kernel/genapic_cluster.c +6 more+25 -300 replies
8/9x86-64 use r10 for currentarch/x86_64/Makefile arch/x86_64/ia32/ia32entry.S arch/x86_64/kernel/entry.S +3 more+30 -150 replies
9/9x86-64 optimize GET_THREAD_INFO users to use r10arch/x86_64/ia32/ia32entry.S arch/x86_64/kernel/entry.S arch/x86_64/lib/copy_user.S +2 more+32 -530 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/9] x86-64 put current in r10

Hello Andi,

The following emails contain the patches to convert x86-64 to store current in r10 (also at http://www.kvack.org/~bcrl/patches/v2.6.15-rc3/). This provides a significant amount of code savings (~43KB) over the current use of the per cpu data area. I also tested using r15, but that generated code that was larger than that generated with r10. This code seems to be working well for me now (it stands up to 32 and 64 bit processes and ptrace users) and would be a good candidate for further exposure.

-ben

 arch/i386/oprofile/nmi_int.c         |    1 
 arch/x86_64/Makefile                 |    1 
 arch/x86_64/crypto/aes-x86_64-asm.S  |   27 +++++++++++----------
 arch/x86_64/ia32/ia32entry.S         |   17 +++++++++----
 arch/x86_64/kernel/asm-offsets.c     |    2 -
 arch/x86_64/kernel/entry.S           |   44 +++++++++++++++--------------------
 arch/x86_64/kernel/genapic_cluster.c |    1 
 arch/x86_64/kernel/genapic_flat.c    |    1 
 arch/x86_64/kernel/i387.c            |    2 -
 arch/x86_64/kernel/process.c         |    8 ++++--
 arch/x86_64/kernel/setup64.c         |   16 +++++++-----
 arch/x86_64/kernel/smpboot.c         |    6 +++-
 arch/x86_64/lib/copy_user.S          |   16 ++++++------
 arch/x86_64/lib/csum-copy.S          |   24 ++++++++++---------
 arch/x86_64/lib/getuser.S            |   12 +++------
 arch/x86_64/lib/putuser.S            |   12 +++------
 include/asm-x86_64/current.h         |    8 ------
 include/asm-x86_64/desc.h            |    1 
 include/asm-x86_64/i387.h            |    8 +++---
 include/asm-x86_64/processor.h       |   10 ++-----
 include/asm-x86_64/system.h          |    6 +---
 include/asm-x86_64/thread_info.h     |   31 +++++++++++-------------
 include/linux/seccomp.h              |   15 ++++-------
 include/linux/smp.h                  |   25 ++++++++++---------
 24 files changed, 145 insertions(+), 149 deletions(-)
Signature · 2 lines
"You know, I've seen some crystals do some pretty trippy shit, man."
Don't Email: <[email protected]>.