[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e22afde4-e312-4589-cf2e-3c35219d7249@kernel.org>
Date: Mon, 31 May 2021 13:29:36 -0700
From: Nathan Chancellor <nathan@...nel.org>
To: Bill Wendling <morbo@...gle.com>, Kees Cook <keescook@...gle.com>,
Jonathan Corbet <corbet@....net>,
Masahiro Yamada <masahiroy@...nel.org>,
linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-kbuild@...r.kernel.org, clang-built-linux@...glegroups.com,
Andrew Morton <akpm@...ux-foundation.org>
Cc: Nick Desaulniers <ndesaulniers@...gle.com>
Subject: Re: [PATCH] pgo: rename the raw profile file to vmlinux.profraw
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@...gle.com>
Guess this clears up my confusion around the module patches :)
Reviewed-by: Nathan Chancellor <nathan@...nel.org>
> ---
> 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;
>
>
Powered by blists - more mailing lists