Re: [PATCH v2] samples/bpf: Add more instructions to build dependencies and, configuration in README.rst

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Sun, Jul 9, 2023 at 8:38 PM Anh Tuan Phan <tuananhlfc@xxxxxxxxx> wrote:
>
> Hi Stanislav,
>
> I have updated the Documentation according to your suggestion. Please
> see it in the below patch. Thanks!
>
> On 7/7/23 23:57, Stanislav Fomichev wrote:
> > On 07/07, Anh Tuan Phan wrote:
> >>
> >>
> >> On 7/7/23 01:16, Stanislav Fomichev wrote:
> >>> On 07/06, Anh Tuan Phan wrote:
> >>>> Update the Documentation to mention that some samples require pahole
> >>>> v1.16 and kernel built with CONFIG_DEBUG_INFO_BTF=y
> >>>>
> >>>> Signed-off-by: Anh Tuan Phan <tuananhlfc@xxxxxxxxx>
> >>>> ---
> >>>>  samples/bpf/README.rst | 7 +++++++
> >>>>  1 file changed, 7 insertions(+)
> >>>>
> >>>> diff --git a/samples/bpf/README.rst b/samples/bpf/README.rst
> >>>> index 57f93edd1957..631592b83d60 100644
> >>>> --- a/samples/bpf/README.rst
> >>>> +++ b/samples/bpf/README.rst
> >>>> @@ -14,6 +14,9 @@ Compiling requires having installed:
> >>>>  Note that LLVM's tool 'llc' must support target 'bpf', list version
> >>>>  and supported targets with command: ``llc --version``
> >>>>
> >>>> +Some samples require pahole version 1.16 as a dependency. See
> >>>> +https://docs.kernel.org/bpf/bpf_devel_QA.html for reference.
> >>>> +
> >>>
> >>> Any reason no to add pahole 1.16 to this section above?
> >>>> Compiling requires having installed:
> >>>  * clang >= version 3.4.0
> >>>  * llvm >= version 3.7.1
> >>>  * pahole >= version 1.16
> >>>
> >>> Although clang 3.4 probably won't get you anywhere these days. The
> >>> whole README seems a bit outdated :-)
> >>>
> >>
> >> Put pahole requirement as your idea is better, thanks for suggestion.
> >> Will update it and clang version as well. For clang version, I think I
> >> can update min version as 11.0.0 (reference from
> >> https://www.kernel.org/doc/html/next/process/changes.html). Do you see
> >> any other potential outdated things in this document? I follow the above
> >> steps and it help me compile the sample code successfully.
> >
> > Maybe we can reference that doc instead here? Otherwise that copy-pasted
> > 11.0.0 will also get old. Just mention here that we need
> > clang/llvm/pahole to compile the samples and for specific versions
> > put a link to process/changes.rst
> >
> >>>>  Clean and configuration
> >>>>  -----------------------
> >>>>
> >>>> @@ -28,6 +31,10 @@ Configure kernel, defconfig for instance::
> >>>>
> >>>>   make defconfig
> >>>>
> >>>> +Some samples require support for BPF Type Format (BTF). To enable it,
> >>>> open the
> >>>> +generated config file, or use menuconfig (by "make menuconfig") to
> >>>> enable the
> >>>> +following configs: CONFIG_BPF_SYSCALL and CONFIG_DEBUG_INFO_BTF.
> >>>> +
> >>>
> >>> This is usually enabled by default, so why special case it here?
> >>> Maybe, if you want some hints about the config, we should add
> >>> a reference to tools/testing/selftests/bpf/config ?
> >>>
> >>
> >> The config CONFIG_DEBUG_INFO_BTF is disabled for some distros at least
> >> for mine. I ran "make defconfig" and it's not enabled by default so I
> >> think it worth to mention it here to help novice get started. I'll
> >> update it to reference to tools/testing/selftests/bpf/config .
> >>
> >>>>  Kernel headers
> >>>>  --------------
> >>>>
> >>>> --
> >>>> 2.34.1
>
> Signed-off-by: Anh Tuan Phan <tuananhlfc@xxxxxxxxx>
> ---
>
> Change from the original patch:
>
> - Move pahole to the list installed requirements
> - Remove minimal version and link the related doc
> - Add a reference of kernel configuration
>
>  samples/bpf/README.rst | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/samples/bpf/README.rst b/samples/bpf/README.rst
> index 57f93edd1957..e18500753ba5 100644
> --- a/samples/bpf/README.rst
> +++ b/samples/bpf/README.rst
> @@ -8,9 +8,12 @@ Build dependencies
>  ==================
>
>  Compiling requires having installed:
> - * clang >= version 3.4.0
> - * llvm >= version 3.7.1
> + * clang
> + * llvm
> + * pahole
>
> +The minimal version of the above software is referenced in
> +https://www.kernel.org/doc/html/next/process/changes.html.

I think it is better to not use docs from linux-next as it keeps changing
too frequently. How about using the latest documentation's link instead? :)

https://www.kernel.org/doc/html/latest/process/changes.html

However, something to think about is: If future versions of clang, llvm etc
do not support compiling our code as it is now, it may become misleading.


>  Note that LLVM's tool 'llc' must support target 'bpf', list version
>  and supported targets with command: ``llc --version``
>
> @@ -24,7 +27,8 @@ after some changes (on demand)::
>   make -C samples/bpf clean
>   make clean
>
> -Configure kernel, defconfig for instance::
> +Configure kernel, defconfig for instance
> +(see "tools/testing/selftests/bpf/config" for a reference config)::
>
>   make defconfig
>
> --

thanks,
  -- Khalid Masum





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux