[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1803114.lsCNsgVnni@hyperiorarchmachine>
Date: Thu, 07 Oct 2021 09:19:29 +0300
From: Jarmo Tiitto <jarmo.tiitto@...il.com>
To: Kees Cook <keescook@...omium.org>
Cc: Daniel Axtens <dja@...ens.net>,
Mark Rutland <mark.rutland@....com>, catalin.marinas@....com,
clang-built-linux@...glegroups.com, hca@...ux.ibm.com,
jarmo.tiitto@...il.com, linux-kernel@...r.kernel.org,
lukas.bulwahn@...il.com, masahiroy@...nel.org, maskray@...gle.com,
morbo@...gle.com, nathan@...nel.org, ndesaulniers@...gle.com,
oberpar@...ux.ibm.com, ojeda@...nel.org, peterz@...radead.org,
samitolvanen@...gle.com, torvalds@...ux-foundation.org,
wcw@...gle.com, will@...nel.org
Subject: Re: ARCH_WANTS_NO_INSTR (Re: [GIT PULL] Clang feature updates for v5.14-rc1)
Mark Rutland wrote tiistaina 5. lokakuuta 2021 17.30.03 EEST:
> On Wed, Oct 06, 2021 at 12:10:15AM +1100, Daniel Axtens wrote:
> > Hi,
>
> Hi Daniel,
>
> > Apologies, I can't find the original email for this:
> > > Kconfig: Introduce ARCH_WANTS_NO_INSTR and CC_HAS_NO_PROFILE_FN_ATTR
> >
> > which is now commit 51c2ee6d121c ("Kconfig: Introduce ARCH_WANTS_NO_INSTR
> > and
> > CC_HAS_NO_PROFILE_FN_ATTR"). It doesn't seem to show up on Google, this
was
> > the best I could find.
>
> Unless I've misunderstood, the commit title was rewritten when the patch
> was applied, from the third link in commit 51c2ee6d121c. For reference,
> those three links are:
>
> Link:
> https://lore.kernel.org/lkml/YMTn9yjuemKFLbws@hirez.programming.kicks-ass.net
> / Link:
> https://lore.kernel.org/lkml/YMcssV%2Fn5IBGv4f0@hirez.programming.kicks-ass.n
> et/ Link:
> https://lore.kernel.org/r/20210621231822.2848305-4-ndesaulniers@google.com
Hello, Kees and others cc'd !
I got above mail, and went through an rabbit hole of lkml messages since I was
involved with the clang-pgo feature.
I'll like to know what is the current situation about GCOV and PGO?
I saw that for-next/clang/pgo had some new interesting patches applied.
Would it be good time now to continue make instrumented kernel?
Background:
I essentially stopped my work at the point where Peter Z noted -fprofile-
generate breaks the kernel+gcov and noinstr needs to be fixed.
My situation here is that I have very old non-public PGO hacks that date back
to v4.11 - v4.19 era using GCOV subsystem and now with the newer clang-pgo
patches that are in usable state.
These previous attempts all broke apart because of the noinstr not doing it's
job with -fprofile-generate: the compiler could generate a call to gcov/pgo
profiler hook in wrong place (in interrupt context, If I remember) and the
kernel was doomed.
One thing has not changed over the years: I still don't have a single CPU that
has hardware PMU capable of LBR and generating AutoFDO profiles. :(
So I have written code/hacks now for two subsystems to gain profile data for
PGO. In the end, I don't care from what instrumented kernel pipes I have to
pull the data out, and what format it is in, as long as the compiler accepts
it. :-P
PS: gcov-pgo had waayy too many pipes for doing just pgo. /s
Well, that was my past on this PGO topic.
Thanks all,
-Jarmo Tiitto
Powered by blists - more mailing lists