Re: [PATCH] pgo: rename the raw profile file to vmlinux.profraw

From: Bill Wendling
Date: Tue Jun 01 2021 - 04:24:55 EST


On Mon, May 31, 2021 at 1:29 PM Nathan Chancellor <nathan@xxxxxxxxxx> wrote:
>
> On 5/31/2021 1:20 PM, Bill Wendling wrote:
> > Future PGO features may create other files in /sys/kernel/debug/pgo. So
> > rename the kernel's raw profile data file to "vmlinux.profraw" to make
> > which part of the kernel the file is for more explicit.
> >
> > Note that future files in /sys/kernel/debug/pgo should follow a similar
> > naming convention.
> >
> > Signed-off-by: Bill Wendling <morbo@xxxxxxxxxx>
>
> Guess this clears up my confusion around the module patches :)
>
To clarify, Jarmo did those patches on his own. I just wanted to
clarify the naming convention. :-)

-bw

> Reviewed-by: Nathan Chancellor <nathan@xxxxxxxxxx>
>
> > ---
> > Documentation/dev-tools/pgo.rst | 6 +++---
> > kernel/pgo/Kconfig | 7 ++++---
> > kernel/pgo/fs.c | 2 +-
> > 3 files changed, 8 insertions(+), 7 deletions(-)
> >
> > diff --git a/Documentation/dev-tools/pgo.rst b/Documentation/dev-tools/pgo.rst
> > index b7f11d8405b7..0200449c4843 100644
> > --- a/Documentation/dev-tools/pgo.rst
> > +++ b/Documentation/dev-tools/pgo.rst
> > @@ -76,7 +76,7 @@ The PGO kernel support creates the following files in debugfs:
> > ``/sys/kernel/debug/pgo/reset``
> > Global reset file: resets all coverage data to zero when written to.
> >
> > -``/sys/kernel/debug/profraw``
> > +``/sys/kernel/debug/pgo/vmlinux.profraw``
> > The raw PGO data that must be processed with ``llvm_profdata``.
> >
> >
> > @@ -108,7 +108,7 @@ using the result to optimize the kernel:
> >
> > .. code-block:: sh
> >
> > - $ cp -a /sys/kernel/debug/pgo/profraw /tmp/vmlinux.profraw
> > + $ cp -a /sys/kernel/debug/pgo/vmlinux.profraw /tmp/vmlinux.profraw
> >
> > 5) (Optional) Download the raw profile data to the HOST machine.
> >
> > @@ -120,7 +120,7 @@ using the result to optimize the kernel:
> >
> > Note that multiple raw profile data files can be merged during this step.
> >
> > -7) Rebuild the kernel using the profile data (PGO disabled)
> > +7) Rebuild the kernel using the processed profile data (PGO disabled)
> >
> > .. code-block:: sh
> >
> > diff --git a/kernel/pgo/Kconfig b/kernel/pgo/Kconfig
> > index 76a640b6cf6e..d2053df1111c 100644
> > --- a/kernel/pgo/Kconfig
> > +++ b/kernel/pgo/Kconfig
> > @@ -17,10 +17,11 @@ config PGO_CLANG
> >
> > Run a representative workload for your application on a kernel
> > compiled with this option and download the raw profile file from
> > - /sys/kernel/debug/pgo/profraw. This file needs to be processed with
> > - llvm-profdata. It may be merged with other collected raw profiles.
> > + /sys/kernel/debug/pgo/vmlinux.profraw. This file needs to be
> > + processed with llvm-profdata. It may be merged with other collected
> > + raw profiles.
> >
> > - Copy the resulting profile file into vmlinux.profdata, and enable
> > + Copy the processed profile file into vmlinux.profdata, and enable
> > KCFLAGS=-fprofile-use=vmlinux.profdata to produce an optimized
> > kernel.
> >
> > diff --git a/kernel/pgo/fs.c b/kernel/pgo/fs.c
> > index 449f16beb2cf..ef985159dad3 100644
> > --- a/kernel/pgo/fs.c
> > +++ b/kernel/pgo/fs.c
> > @@ -365,7 +365,7 @@ static int __init pgo_init(void)
> > if (!directory)
> > goto err_remove;
> >
> > - if (!debugfs_create_file("profraw", 0600, directory, NULL,
> > + if (!debugfs_create_file("vmlinux.profraw", 0600, directory, NULL,
> > &prf_fops))
> > goto err_remove;
> >
> >