lkml.org 
[lkml]   [2021]   [Oct]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: ARCH_WANTS_NO_INSTR (Re: [GIT PULL] Clang feature updates for v5.14-rc1)
Date
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


\
 
 \ /
  Last update: 2021-10-07 08:20    [W:0.060 / U:0.564 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site