lkml.org 
[lkml]   [2021]   [May]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 05/13] powerpc: use linux/unaligned/le_struct.h on LE power7
    Date
    From: Arnd Bergmann <arnd@arndb.de>

    Little-endian POWER7 kernels disable
    CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS because that is not supported on
    the hardware, but the kernel still uses direct load/store for explicti
    get_unaligned()/put_unaligned().

    I assume this is a mistake that leads to power7 having to trap and fix
    up all these unaligned accesses at a noticeable performance cost.

    The fix is completely trivial, just remove the file and use the
    generic version that gets it right.

    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    ---
    arch/powerpc/include/asm/unaligned.h | 22 ----------------------
    1 file changed, 22 deletions(-)
    delete mode 100644 arch/powerpc/include/asm/unaligned.h

    diff --git a/arch/powerpc/include/asm/unaligned.h b/arch/powerpc/include/asm/unaligned.h
    deleted file mode 100644
    index ce69c5eff95e..000000000000
    --- a/arch/powerpc/include/asm/unaligned.h
    +++ /dev/null
    @@ -1,22 +0,0 @@
    -/* SPDX-License-Identifier: GPL-2.0 */
    -#ifndef _ASM_POWERPC_UNALIGNED_H
    -#define _ASM_POWERPC_UNALIGNED_H
    -
    -#ifdef __KERNEL__
    -
    -/*
    - * The PowerPC can do unaligned accesses itself based on its endian mode.
    - */
    -#include <linux/unaligned/access_ok.h>
    -#include <linux/unaligned/generic.h>
    -
    -#ifdef __LITTLE_ENDIAN__
    -#define get_unaligned __get_unaligned_le
    -#define put_unaligned __put_unaligned_le
    -#else
    -#define get_unaligned __get_unaligned_be
    -#define put_unaligned __put_unaligned_be
    -#endif
    -
    -#endif /* __KERNEL__ */
    -#endif /* _ASM_POWERPC_UNALIGNED_H */
    --
    2.29.2
    \
     
     \ /
      Last update: 2021-05-14 12:03    [W:3.133 / U:0.672 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site