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

From: Nathan Chancellor
Date: Mon May 31 2021 - 16:29:41 EST


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 :)

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;