Re: [PATCH 2 of 2] __raw_memcpy_toio32 for x86_64

From: Andi Kleen
Date: Wed Jan 11 2006 - 19:55:19 EST


On Thursday 12 January 2006 01:29, Bryan O'Sullivan wrote:

> 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.

At least some people have complained about the "All Rights reserved"
in the past. Best you drop it.


> +/*
> + * override generic version in lib/raw_memcpy_io.c
> + */
> + .globl __raw_memcpy_toio32

Usually one should use .p2align or ENTRY() at function beginning,
otherwise you might get some penalty on K8.

> +__raw_memcpy_toio32:
> + movl %edx,%ecx
> + shrl $1,%ecx

1? If it's called memcpy it should get a byte argument, no? If not
name it something else, otherwise everybody will be confused.

> + andl $1,%edx
> + rep movsq

movsq? I thought you wanted 32bit IO?

The movsd also looks weird.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/