* [GIT PULL] x86/asm changes for v4.13
@ 2017-07-03 8:50 Ingo Molnar
2017-07-03 20:38 ` Linus Torvalds
0 siblings, 1 reply; 3+ messages in thread
From: Ingo Molnar @ 2017-07-03 8:50 UTC (permalink / raw)
To: Linus Torvalds
Cc: linux-kernel, Thomas Gleixner, H. Peter Anvin, Peter Zijlstra,
Andrew Morton
Linus,
Please pull the latest x86-asm-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-asm-for-linus
# HEAD: 236222d39347e0e486010f10c1493e83dbbdfba8 x86/uaccess: Optimize copy_user_enhanced_fast_string() for short strings
A single commit micro-optimizing short string copies on certain Intel CPUs.
Thanks,
Ingo
------------------>
Paolo Abeni (1):
x86/uaccess: Optimize copy_user_enhanced_fast_string() for short strings
arch/x86/lib/copy_user_64.S | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/arch/x86/lib/copy_user_64.S b/arch/x86/lib/copy_user_64.S
index c5959576c315..020f75cc8cf6 100644
--- a/arch/x86/lib/copy_user_64.S
+++ b/arch/x86/lib/copy_user_64.S
@@ -37,7 +37,7 @@ ENTRY(copy_user_generic_unrolled)
movl %edx,%ecx
andl $63,%edx
shrl $6,%ecx
- jz 17f
+ jz .L_copy_short_string
1: movq (%rsi),%r8
2: movq 1*8(%rsi),%r9
3: movq 2*8(%rsi),%r10
@@ -58,7 +58,8 @@ ENTRY(copy_user_generic_unrolled)
leaq 64(%rdi),%rdi
decl %ecx
jnz 1b
-17: movl %edx,%ecx
+.L_copy_short_string:
+ movl %edx,%ecx
andl $7,%edx
shrl $3,%ecx
jz 20f
@@ -174,6 +175,8 @@ EXPORT_SYMBOL(copy_user_generic_string)
*/
ENTRY(copy_user_enhanced_fast_string)
ASM_STAC
+ cmpl $64,%edx
+ jb .L_copy_short_string /* less then 64 bytes, avoid the costly 'rep' */
movl %edx,%ecx
1: rep
movsb
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [GIT PULL] x86/asm changes for v4.13
2017-07-03 8:50 [GIT PULL] x86/asm changes for v4.13 Ingo Molnar
@ 2017-07-03 20:38 ` Linus Torvalds
2017-07-03 21:52 ` Ingo Molnar
0 siblings, 1 reply; 3+ messages in thread
From: Linus Torvalds @ 2017-07-03 20:38 UTC (permalink / raw)
To: Ingo Molnar
Cc: Linux Kernel Mailing List, Thomas Gleixner, H. Peter Anvin,
Peter Zijlstra, Andrew Morton
On Mon, Jul 3, 2017 at 1:50 AM, Ingo Molnar <mingo@kernel.org> wrote:
>
> A single commit micro-optimizing short string copies on certain Intel CPUs.
That's slightly misleading - it's not string copies, it's just regular
user copies using the "fast string" interface.
Fixing that up in my merge commit message.
Linus
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [GIT PULL] x86/asm changes for v4.13
2017-07-03 20:38 ` Linus Torvalds
@ 2017-07-03 21:52 ` Ingo Molnar
0 siblings, 0 replies; 3+ messages in thread
From: Ingo Molnar @ 2017-07-03 21:52 UTC (permalink / raw)
To: Linus Torvalds
Cc: Linux Kernel Mailing List, Thomas Gleixner, H. Peter Anvin,
Peter Zijlstra, Andrew Morton
* Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Mon, Jul 3, 2017 at 1:50 AM, Ingo Molnar <mingo@kernel.org> wrote:
> >
> > A single commit micro-optimizing short string copies on certain Intel CPUs.
>
> That's slightly misleading - it's not string copies, it's just regular
> user copies using the "fast string" interface.
Indeed!
> Fixing that up in my merge commit message.
Thanks!
Ingo
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-07-03 21:52 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-03 8:50 [GIT PULL] x86/asm changes for v4.13 Ingo Molnar
2017-07-03 20:38 ` Linus Torvalds
2017-07-03 21:52 ` Ingo Molnar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®