Re: [PATCH] x86/copy_user_generic: Optimize copy_user_generic withCPU erms feature

From: Ingo Molnar
Date: Wed Jun 06 2012 - 05:52:04 EST



* Fenghua Yu <fenghua.yu@xxxxxxxxx> wrote:

> From: Fenghua Yu <fenghua.yu@xxxxxxxxx>
>
> According to Intel 64 and IA-32 SDM and Optimization Reference Manual, beginning
> with Ivybridge, REG string operation using MOVSB and STOSB can provide both
> flexible and high-performance REG string operations in cases like memory copy.
> Enhancement availability is indicated by CPUID.7.0.EBX[9] (Enhanced REP MOVSB/
> STOSB).
>
> If CPU erms feature is detected, patch copy_user_generic with enhanced fast
> string version of copy_user_generic.
>
> A few new macros are defined to reduce duplicate code in ALTERNATIVE and
> ALTERNATIVE_2.
>
> Signed-off-by: Fenghua Yu <fenghua.yu@xxxxxxxxx>
> ---
> checkpatch.pl reports two errors in alternative_call_2() definition. I think
> the errors are invalid and should be ignored:
> ERROR: Macros with complex values should be enclosed in parenthesis
> ERROR: space prohibited before open square bracket '['

ok.

>
> arch/x86/include/asm/alternative.h | 74 ++++++++++++++++++++++++++++-------
> arch/x86/include/asm/uaccess_64.h | 11 +++++-
> arch/x86/kernel/x8664_ksyms_64.c | 1 +
> 3 files changed, 70 insertions(+), 16 deletions(-)

Looks good to me. Peter, Thomas, any objections?

Thanks,

Ingo
--
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/