Messages in this thread Patch in this message | | | Subject | [PATCH 2 of 2] __raw_memcpy_toio32 for x86_64 | Date | Wed, 11 Jan 2006 16:29:36 -0800 | From | Bryan O'Sullivan <> |
| |
Introduce an x86_64-specific __raw_memcpy_toio32 routine. This is measurably faster than the generic version in lib/raw_memcpy_io.c.
Signed-off-by: Bryan O'Sullivan <bos@pathscale.com>
diff -r cd6d8a62dad5 -r f03a807a80b8 arch/x86_64/lib/Makefile --- a/arch/x86_64/lib/Makefile Wed Jan 11 16:25:30 2006 -0800 +++ b/arch/x86_64/lib/Makefile Wed Jan 11 16:26:59 2006 -0800 @@ -4,7 +4,7 @@ CFLAGS_csum-partial.o := -funroll-loops -obj-y := io.o +obj-y := io.o raw_memcpy_io.o lib-y := csum-partial.o csum-copy.o csum-wrappers.o delay.o \ usercopy.o getuser.o putuser.o \ diff -r cd6d8a62dad5 -r f03a807a80b8 arch/x86_64/lib/raw_memcpy_io.S --- /dev/null Thu Jan 1 00:00:00 1970 +0000 +++ b/arch/x86_64/lib/raw_memcpy_io.S Wed Jan 11 16:26:59 2006 -0800 @@ -0,0 +1,29 @@ +/* + * Copyright 2006 PathScale, Inc. All Rights Reserved. + * + * This file is free software; you can redistribute it and/or modify + * it under the terms of version 2 of the GNU General Public License + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +/* + * override generic version in lib/raw_memcpy_io.c + */ + .globl __raw_memcpy_toio32 +__raw_memcpy_toio32: + movl %edx,%ecx + shrl $1,%ecx + andl $1,%edx + rep movsq + movl %edx,%ecx + rep movsd + ret - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |