lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <4C92E283.4090802@cn.fujitsu.com> Date: Fri, 17 Sep 2010 11:37:39 +0800 From: Miao Xie <miaox@...fujitsu.com> To: ykzhao <yakui.zhao@...el.com> CC: Andi Kleen <andi@...stfloor.org>, Andrew Morton <akpm@...ux-foundation.org>, Ingo Molnar <mingo@...e.hu>, "Theodore Ts'o" <tytso@....edu>, Chris Mason <chris.mason@...cle.com>, Linux Kernel <linux-kernel@...r.kernel.org>, Linux Btrfs <linux-btrfs@...r.kernel.org>, Linux Ext4 <linux-ext4@...r.kernel.org> Subject: Re: [PATCH] x86_64/lib: improve the performance of memmove On Fri, 17 Sep 2010 08:55:18 +0800, ykzhao wrote: > On Thu, 2010-09-16 at 15:16 +0800, Miao Xie wrote: >> On Thu, 16 Sep 2010 08:48:25 +0200 (cest), Andi Kleen wrote: >>>> When the dest and the src do overlap and the memory area is large, memmove >>>> of >>>> x86_64 is very inefficient, and it led to bad performance, such as btrfs's >>>> file >>>> deletion performance. This patch improved the performance of memmove on >>>> x86_64 >>>> by using __memcpy_bwd() instead of byte copy when doing large memory area >>>> copy >>>> (len> 64). >>> >>> >>> I still don't understand why you don't simply use a backwards >>> string copy (with std) ? That should be much simpler and >>> hopefully be as optimized for kernel copies on recent CPUs. >> >> But according to the comment of memcpy, some CPUs don't support "REP" instruction, > > Where do you find that the "REP" instruction is not supported on some > CPUs? The comment in arch/x86/lib/memcpy_64.s only states that some CPUs > will run faster when using string copy instruction. Sorry! I misread the comment. >> so I think we must implement a backwards string copy by other method for those CPUs, >> But that implement is complex, so I write it as a function -- __memcpy_bwd(). > > Will you please look at tip/x86/ tree(mem branch)? The memory copy on > x86_64 is already optimized. Thanks for your reminding! It is very helpful. Miao > thanks. > Yakui >> >> Thanks! >> Miao >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in >> the body of a message to majordomo@...r.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html > > > -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists