Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757421AbcC2Sar (ORCPT ); Tue, 29 Mar 2016 14:30:47 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:49833 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753579AbcC2Saq (ORCPT ); Tue, 29 Mar 2016 14:30:46 -0400 Date: Tue, 29 Mar 2016 11:30:44 -0700 From: Andrew Morton To: Josh Boyer Cc: Denys Vlasenko , Linus Torvalds , Thomas Graf , Peter Zijlstra , David Rientjes , Arnd Bergmann , Ingo Molnar , "Linux-Kernel@Vger. Kernel. Org" Subject: Re: [PATCH] compiler.h: Provide __always_inline to userspace headers too Message-Id: <20160329113044.9d533ba55e0be2f9b3288bd6@linux-foundation.org> In-Reply-To: References: <1459275259-28040-1-git-send-email-dvlasenk@redhat.com> X-Mailer: Sylpheed 3.4.1 (GTK+ 2.24.23; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3092 Lines: 90 On Tue, 29 Mar 2016 14:23:57 -0400 Josh Boyer wrote: > On Tue, Mar 29, 2016 at 2:14 PM, Denys Vlasenko wrote: > > Recent change to uapi/linux/swab.h needs this. > > > > Signed-off-by: Denys Vlasenko > > CC: Josh Boyer > > CC: Thomas Graf > > CC: Peter Zijlstra > > CC: David Rientjes > > CC: Arnd Bergmann > > CC: Ingo Molnar > > CC: Andrew Morton > > CC: Linus Torvalds > > CC: linux-kernel@vger.kernel.org > > --- > > include/linux/compiler.h | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/include/linux/compiler.h b/include/linux/compiler.h > > index b5ff988..2cb6ba4 100644 > > --- a/include/linux/compiler.h > > +++ b/include/linux/compiler.h > > @@ -397,12 +397,12 @@ static __always_inline void __write_once_size(volatile void *p, void *res, int s > > */ > > #define noinline_for_stack noinline > > > > +#endif /* __KERNEL__ */ > > + > > #ifndef __always_inline > > #define __always_inline inline > > #endif > > > > -#endif /* __KERNEL__ */ > > - > > Did you test this by installing the headers with 'make > headers-install' and trying to build something with the newly > installed headers? As I said in my other email, I don't see how > changes to this particular file are reflected in anything that gets > installed in /usr/include by the uapi mechanism. include/uapi/linux/swab.h already had __attribute_const__ and that worked OK so presumably treating __always_inline in the same fashion will also work. But yes, testing please. Also, more care with the changelogs please. "Recent change" is uselessly vague, and Josh kindly reported the regression, so... From: Denys Vlasenko Subject: compiler.h: provide __always_inline to userspace headers too Recent change to uapi/linux/swab.h needs this. In file included from test.c:2:0: /usr/include/linux/swab.h:154:8: error: unknown type name `__always_inline' static __always_inline __u16 __swab16p(const __u16 *p) ^~~~~~~~~~~~~~~ Fixes: bc27fb68aaad4 ("include/uapi/linux/byteorder, swab: force inlining of some byteswap operations") Signed-off-by: Denys Vlasenko Reported-by: Josh Boyer Signed-off-by: Andrew Morton --- include/linux/compiler.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff -puN include/linux/compiler.h~compilerh-provide-__always_inline-to-userspace-headers-too include/linux/compiler.h --- a/include/linux/compiler.h~compilerh-provide-__always_inline-to-userspace-headers-too +++ a/include/linux/compiler.h @@ -397,12 +397,12 @@ static __always_inline void __write_once */ #define noinline_for_stack noinline +#endif /* __KERNEL__ */ + #ifndef __always_inline #define __always_inline inline #endif -#endif /* __KERNEL__ */ - /* * From the GCC manual: * _