All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kees Cook <keescook@chromium.org>
To: Mark Rutland <mark.rutland@arm.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	linux-kernel@vger.kernel.org, Bill Wendling <morbo@google.com>,
	Bill Wendling <wcw@google.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	clang-built-linux@googlegroups.com,
	Fangrui Song <maskray@google.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Jarmo Tiitto <jarmo.tiitto@gmail.com>,
	Lukas Bulwahn <lukas.bulwahn@gmail.com>,
	Masahiro Yamada <masahiroy@kernel.org>,
	Miguel Ojeda <ojeda@kernel.org>,
	Nathan Chancellor <nathan@kernel.org>,
	Nick Desaulniers <ndesaulniers@google.com>,
	Peter Oberparleiter <oberpar@linux.ibm.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Will Deacon <will@kernel.org>
Subject: Re: [GIT PULL] Clang feature updates for v5.14-rc1
Date: Tue, 29 Jun 2021 13:11:50 -0700	[thread overview]
Message-ID: <202106291307.0DF14F9161@keescook> (raw)
In-Reply-To: <20210629131400.GA24514@C02TD0UTHF1T.local>

On Tue, Jun 29, 2021 at 02:14:00PM +0100, Mark Rutland wrote:
> Hi Kees,
> 
> On Mon, Jun 28, 2021 at 12:32:24PM -0700, Kees Cook wrote:
> > Hi Linus,
> > 
> > Please pull these Clang feature updates for v5.14-rc1.
> > 
> > Thanks!
> > 
> > -Kees
> > 
> > The following changes since commit d07f6ca923ea0927a1024dfccafc5b53b61cfecc:
> > 
> >   Linux 5.13-rc2 (2021-05-16 15:27:44 -0700)
> > 
> > are available in the Git repository at:
> > 
> >   https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git tags/clang-features-v5.14-rc1
> > 
> > for you to fetch changes up to 6a0544606ec7f03e4a2534c87ea989de4bac41ae:
> > 
> >   pgo: rectify comment to proper kernel-doc syntax (2021-06-28 12:10:31 -0700)
> > 
> > ----------------------------------------------------------------
> > Clang feature updates for v5.14-rc1
> > 
> > The big addition for this merge window is the core support for Clang's
> > Profile Guided Optimization, which lets Clang build the kernel for
> > improved performance when running specific kernel workloads. This
> > currently covers only vmlinux, but module support is under active
> > development. (Sami Tolvanen, Bill Wendling, Kees Cook, Jarmo Tiitto,
> > Lukas Bulwahn)
> 
> I thought the PGO stuff was on hold given Peter had open concerns, e.g.
> 
> https://lore.kernel.org/r/20210614154639.GB68749@worktop.programming.kicks-ass.net
> 
> ... and there didn't seem to be a strong conclusion to the contrary.

Hi! Whoops, I think you weren't CCed on the later threads over noinstr:
https://lore.kernel.org/lkml/YNGQV09E9xAvvppO@hirez.programming.kicks-ass.net/

I understood that as the blocker for Peter from the earlier thread.

> 
> > Added CC_HAS_NO_PROFILE_FN_ATTR in preparation for PGO support in
> > the face of the noinstr attribute, paving the way for PGO and fixing
> > GCOV. (Nick Desaulniers)
> > 
> > x86_64 LTO coverage is expaned to 32-bit x86. (Nathan Chancellor)
> > 
> > Small fixes to CFI. (Mark Rutland, Nathan Chancellor)
> 
> FWIW, all the rest of this looks good to me.

Thanks!

-Kees

> 
> Thanks,
> Mark.
> 
> > 
> > ----------------------------------------------------------------
> > Bill Wendling (1):
> >       pgo: rename the raw profile file to vmlinux.profraw
> > 
> > Jarmo Tiitto (2):
> >       pgo: Limit allocate_node() to vmlinux sections
> >       pgo: Fix sleep in atomic section in prf_open()
> > 
> > Kees Cook (2):
> >       MAINTAINERS: Expand and relocate PGO entry
> >       pgo: Clean up prf_open() error paths
> > 
> > Lukas Bulwahn (1):
> >       pgo: rectify comment to proper kernel-doc syntax
> > 
> > Mark Rutland (1):
> >       CFI: Move function_nocfi() into compiler.h
> > 
> > Nathan Chancellor (2):
> >       MAINTAINERS: Add Clang CFI section
> >       x86, lto: Enable Clang LTO for 32-bit as well
> > 
> > Nick Desaulniers (3):
> >       compiler_attributes.h: define __no_profile, add to noinstr
> >       compiler_attributes.h: cleanups for GCC 4.9+
> >       Kconfig: Introduce ARCH_WANTS_NO_INSTR and CC_HAS_NO_PROFILE_FN_ATTR
> > 
> > Sami Tolvanen (1):
> >       pgo: Add Clang's Profile Guided Optimization infrastructure
> > 
> >  Documentation/dev-tools/index.rst     |   1 +
> >  Documentation/dev-tools/pgo.rst       | 127 +++++++++++
> >  MAINTAINERS                           |  25 ++
> >  Makefile                              |   3 +
> >  arch/Kconfig                          |   8 +
> >  arch/arm64/Kconfig                    |   1 +
> >  arch/arm64/include/asm/compiler.h     |  16 ++
> >  arch/arm64/include/asm/memory.h       |  16 --
> >  arch/s390/Kconfig                     |   1 +
> >  arch/x86/Kconfig                      |   6 +-
> >  arch/x86/boot/Makefile                |   1 +
> >  arch/x86/boot/compressed/Makefile     |   1 +
> >  arch/x86/crypto/Makefile              |   3 +
> >  arch/x86/entry/vdso/Makefile          |   1 +
> >  arch/x86/kernel/Makefile              |   3 +
> >  arch/x86/kernel/vmlinux.lds.S         |   2 +
> >  arch/x86/platform/efi/Makefile        |   1 +
> >  arch/x86/purgatory/Makefile           |   1 +
> >  arch/x86/realmode/rm/Makefile         |   1 +
> >  arch/x86/um/vdso/Makefile             |   1 +
> >  drivers/firmware/efi/libstub/Makefile |   1 +
> >  include/asm-generic/vmlinux.lds.h     |  32 +++
> >  include/linux/compiler.h              |  10 +
> >  include/linux/compiler_attributes.h   |  19 +-
> >  include/linux/compiler_types.h        |   2 +-
> >  include/linux/mm.h                    |  10 -
> >  init/Kconfig                          |   3 +
> >  kernel/Makefile                       |   1 +
> >  kernel/gcov/Kconfig                   |   1 +
> >  kernel/pgo/Kconfig                    |  37 +++
> >  kernel/pgo/Makefile                   |   5 +
> >  kernel/pgo/fs.c                       | 413 ++++++++++++++++++++++++++++++++++
> >  kernel/pgo/instrument.c               | 188 ++++++++++++++++
> >  kernel/pgo/pgo.h                      | 211 +++++++++++++++++
> >  scripts/Makefile.lib                  |  10 +
> >  35 files changed, 1130 insertions(+), 32 deletions(-)
> >  create mode 100644 Documentation/dev-tools/pgo.rst
> >  create mode 100644 kernel/pgo/Kconfig
> >  create mode 100644 kernel/pgo/Makefile
> >  create mode 100644 kernel/pgo/fs.c
> >  create mode 100644 kernel/pgo/instrument.c
> >  create mode 100644 kernel/pgo/pgo.h
> > 
> > -- 
> > Kees Cook
> 
> -- 
> You received this message because you are subscribed to the Google Groups "Clang Built Linux" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-linux+unsubscribe@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/20210629131400.GA24514%40C02TD0UTHF1T.local.

-- 
Kees Cook

  reply	other threads:[~2021-06-29 20:11 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-28 19:32 [GIT PULL] Clang feature updates for v5.14-rc1 Kees Cook
2021-06-29  2:49 ` Linus Torvalds
2021-06-29 20:44   ` Kees Cook
2021-06-29 21:03     ` Linus Torvalds
2021-06-29 21:27       ` Nick Desaulniers
2021-06-29 21:57         ` Linus Torvalds
2021-07-07  8:10         ` Ingo Molnar
2021-07-02 12:46       ` Bill Wendling
2021-07-02 12:56         ` Peter Zijlstra
2021-07-02 17:26           ` Nick Desaulniers
2021-07-02 18:57             ` Peter Zijlstra
2021-07-02 19:53               ` Nick Desaulniers
2022-10-31 23:55           ` Bill Wendling
2021-06-29 13:14 ` Mark Rutland
2021-06-29 20:11   ` Kees Cook [this message]
2021-06-29 21:05   ` Nick Desaulniers
2021-10-05 13:10 ` ARCH_WANTS_NO_INSTR (Re: [GIT PULL] Clang feature updates for v5.14-rc1) Daniel Axtens
2021-10-05 13:45   ` Daniel Axtens
2021-10-05 14:30   ` Mark Rutland
2021-10-07  6:19     ` Jarmo Tiitto

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=202106291307.0DF14F9161@keescook \
    --to=keescook@chromium.org \
    --cc=catalin.marinas@arm.com \
    --cc=clang-built-linux@googlegroups.com \
    --cc=hca@linux.ibm.com \
    --cc=jarmo.tiitto@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lukas.bulwahn@gmail.com \
    --cc=mark.rutland@arm.com \
    --cc=masahiroy@kernel.org \
    --cc=maskray@google.com \
    --cc=morbo@google.com \
    --cc=nathan@kernel.org \
    --cc=ndesaulniers@google.com \
    --cc=oberpar@linux.ibm.com \
    --cc=ojeda@kernel.org \
    --cc=peterz@infradead.org \
    --cc=samitolvanen@google.com \
    --cc=torvalds@linux-foundation.org \
    --cc=wcw@google.com \
    --cc=will@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.