From: Russell King - ARM Linux admin <linux@armlinux.org.uk>
To: Nick Desaulniers <ndesaulniers@google.com>
Cc: Will Deacon <will@kernel.org>,
Masahiro Yamada <yamada.masahiro@socionext.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
Andrew Morton <akpm@linux-foundation.org>,
Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>,
linux-arch <linux-arch@vger.kernel.org>,
LKML <linux-kernel@vger.kernel.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Stefan Wahren <wahrenst@gmx.net>, Kees Cook <keescook@google.com>
Subject: Re: [PATCH] compiler: enable CONFIG_OPTIMIZE_INLINING forcibly
Date: Tue, 1 Oct 2019 18:55:12 +0100 [thread overview]
Message-ID: <20191001175512.GK25745@shell.armlinux.org.uk> (raw)
In-Reply-To: <CAKwvOdnFJqipp+G5xLDRBcOrQRcvMQmn+n8fufWyzyt2QL_QkA@mail.gmail.com>
On Tue, Oct 01, 2019 at 10:44:43AM -0700, Nick Desaulniers wrote:
> I apologize; I don't mean to be difficult. I would just like to avoid
> surprises when code written with the assumption that it will be
> inlined is not. It sounds like we found one issue in arm32 and one in
> arm64 related to outlining. If we fix those two cases, I think we're
> close to proceeding with Masahiro's cleanup, which I view as a good
> thing for the health of the Linux kernel codebase.
Except, using the C preprocessor for this turns the arm32 code into
yuck:
1. We'd need to turn get_domain() and set_domain() into multi-line
preprocessor macro definitions, using the GCC ({ }) extension
so that get_domain() can return a value.
2. uaccess_save_and_enable() and uaccess_restore() also need to
become preprocessor macro definitions too.
So, we end up with multiple levels of nested preprocessor macros.
When something goes wrong, the compiler warning/error message is
going to be utterly _horrid_.
Now, as to whether an __attribute__((always_inline)) can or can not
be inlined...
`always_inline'
Generally, functions are not inlined unless optimization is
specified. For functions declared inline, this attribute inlines
the function even if no optimization level is specified.
Is this another instance of the compiler folk changing the rules of
already documented semantics? This says nothing about "might not be
inlined if someone passes some random combination of -f flags".
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up
According to speedtest.net: 11.9Mbps down 500kbps up
next prev parent reply other threads:[~2019-10-01 17:55 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-30 3:43 [PATCH] compiler: enable CONFIG_OPTIMIZE_INLINING forcibly Masahiro Yamada
2019-08-30 20:54 ` Nick Desaulniers
2019-09-26 8:54 ` Geert Uytterhoeven
2019-09-26 9:02 ` Masahiro Yamada
2019-09-26 9:26 ` Geert Uytterhoeven
2019-09-26 9:46 ` Masahiro Yamada
2019-09-27 10:43 ` Nicolas Saenz Julienne
2019-09-27 10:59 ` Charles Keepax
2019-09-27 22:08 ` Nick Desaulniers
2019-09-27 22:38 ` Linus Torvalds
2019-09-30 11:26 ` Will Deacon
2019-09-30 12:05 ` Masahiro Yamada
2019-09-30 12:18 ` Will Deacon
2019-09-30 21:50 ` Nick Desaulniers
2019-09-30 22:08 ` Miguel Ojeda
2019-09-30 22:34 ` Nick Desaulniers
2019-10-01 9:28 ` Will Deacon
2019-10-01 16:32 ` Nick Desaulniers
2019-10-01 17:01 ` Will Deacon
2019-10-01 17:44 ` Nick Desaulniers
2019-10-01 17:55 ` Russell King - ARM Linux admin [this message]
2019-10-01 18:00 ` Nick Desaulniers
2019-10-01 18:14 ` Russell King - ARM Linux admin
2019-10-01 20:21 ` Nick Desaulniers
2019-10-01 20:53 ` Arnd Bergmann
2019-10-01 21:06 ` Miguel Ojeda
2019-10-01 21:14 ` Nick Desaulniers
2019-10-01 20:59 ` Russell King - ARM Linux admin
2019-10-01 21:26 ` Russell King - ARM Linux admin
2019-10-01 21:32 ` Nick Desaulniers
2019-10-01 21:58 ` Russell King - ARM Linux admin
2019-10-02 12:55 ` Geert Uytterhoeven
2019-10-02 18:51 ` Will Deacon
2019-10-02 20:39 ` Linus Torvalds
2019-10-03 2:10 ` Masahiro Yamada
2019-10-03 17:01 ` Linus Torvalds
2019-10-03 17:08 ` Linus Torvalds
2019-10-03 17:23 ` Masahiro Yamada
2019-10-03 17:29 ` Linus Torvalds
2019-10-03 20:21 ` Miguel Ojeda
2019-10-04 7:37 ` Geert Uytterhoeven
2019-10-03 16:36 ` Will Deacon
2019-10-12 10:15 ` Stefan Wahren
2019-10-12 11:12 ` Masahiro Yamada
2019-10-12 14:45 ` Russell King - ARM Linux admin
2019-10-01 9:39 ` Masahiro Yamada
2019-10-01 10:40 ` Will Deacon
2019-09-27 10:58 ` Nicolas Saenz Julienne
2019-09-30 6:04 ` Masahiro Yamada
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191001175512.GK25745@shell.armlinux.org.uk \
--to=linux@armlinux.org.uk \
--cc=akpm@linux-foundation.org \
--cc=bp@alien8.de \
--cc=catalin.marinas@arm.com \
--cc=keescook@google.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=miguel.ojeda.sandonis@gmail.com \
--cc=mingo@redhat.com \
--cc=ndesaulniers@google.com \
--cc=nsaenzjulienne@suse.de \
--cc=torvalds@linux-foundation.org \
--cc=wahrenst@gmx.net \
--cc=will@kernel.org \
--cc=yamada.masahiro@socionext.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox