On Mon, Jun 14, 2021 at 08:26:01AM -0700, Kees Cook wrote:
quoted
2. Like (1) but also keep GCOV, given proper support for attribute
no_instrument_function would probably fix it (?).
3. Keep GCOV (and KCOV of course). Somehow extract PGO profiles from KCOV.
4. Somehow extract PGO profiles from GCOV, or modify kernel/gcov to do so.
If there *is* a way to "combine" these, I don't think it makes sense
to do it now. PGO has users (and is expanding[1]), and trying to
optimize the design before even landing the first version seems like a
needless obstruction, and to likely not address currently undiscovered
requirements.
Even if that were so (and I'm not yet convinced), the current proposal
is wedded to llvm-pgo, there is no way gcc-pgo could reuse any of this
code afaict, which then means they have to create yet another variant.
Sorting this *before* the first version is exactly the right time.
Since when are we merging code when the requirements are not clear?
Just to clarify:
Nacked-by: Peter Zijlstra (Intel) [off-list ref]
For all this PGO crud.