Hi Linus,

Please pull this patch series which make us take advantage of `asm inline`.

You will encounter an easy merge conflict on `init/Kconfig` due to
the (already merged) arm64 tree.

Cheers,
Miguel

The following changes since commit f74c2bb98776e2de508f4d607cd519873065118e:

  Linux 5.3-rc8 (2019-09-08 13:33:15 -0700)

are available in the Git repository at:

  https://github.com/ojeda/linux.git tags/compiler-attributes-for-linus-v5.4

for you to fetch changes up to 32ee8230b2b06c50f583e14fcd174d7d2edb52f5:

  x86: bug.h: use asm_inline in _BUG_FLAGS definitions (2019-09-15 20:14:15 
+0200)

----------------------------------------------------------------
Make use of gcc 9's "asm inline()" (Rasmus Villemoes):

    gcc 9+ (and gcc 8.3, 7.5) provides a way to override the otherwise
    crude heuristic that gcc uses to estimate the size of the code
    represented by an asm() statement. From the gcc docs

      If you use 'asm inline' instead of just 'asm', then for inlining
      purposes the size of the asm is taken as the minimum size, ignoring
      how many instructions GCC thinks it is.

    For compatibility with older compilers, we obviously want a

      #if [understands asm inline]
      #define asm_inline asm inline
      #else
      #define asm_inline asm
      #endif

    But since we #define the identifier inline to attach some attributes,
    we have to use an alternate spelling of that keyword. gcc provides
    both __inline__ and __inline, and we currently #define both to inline,
    so they all have the same semantics. We have to free up one of
    __inline__ and __inline, and the latter is by far the easiest.

    The two x86 changes cause smaller code gen differences than I'd
    expect, but I think we do want the asm_inline thing available sooner
    or later, so this is just to get the ball rolling.

----------------------------------------------------------------
Rasmus Villemoes (6):
      staging: rtl8723bs: replace __inline by inline
      lib/zstd/mem.h: replace __inline by inline
      compiler_types.h: don't #define __inline
      compiler-types.h: add asm_inline definition
      x86: alternative.h: use asm_inline for all alternative variants
      x86: bug.h: use asm_inline in _BUG_FLAGS definitions

 arch/x86/include/asm/alternative.h                      | 14 +++++++-------
 arch/x86/include/asm/bug.h                              |  4 ++--
 drivers/staging/rtl8723bs/core/rtw_pwrctrl.c            |  4 ++--
 drivers/staging/rtl8723bs/core/rtw_wlan_util.c          |  2 +-
 drivers/staging/rtl8723bs/include/drv_types.h           |  6 +++---
 drivers/staging/rtl8723bs/include/osdep_service.h       | 10 +++++-----
 drivers/staging/rtl8723bs/include/osdep_service_linux.h | 14 +++++++-------
 drivers/staging/rtl8723bs/include/rtw_mlme.h            | 14 +++++++-------
 drivers/staging/rtl8723bs/include/rtw_recv.h            | 16 ++++++++--------
 drivers/staging/rtl8723bs/include/sta_info.h            |  2 +-
 drivers/staging/rtl8723bs/include/wifi.h                | 14 +++++++-------
 drivers/staging/rtl8723bs/include/wlan_bssdef.h         |  2 +-
 include/linux/compiler_types.h                          | 17 ++++++++++++++++-
 init/Kconfig                                            |  3 +++
 lib/zstd/mem.h                                          |  2 +-
 15 files changed, 71 insertions(+), 53 deletions(-)

Reply via email to