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; > > > >