mbox series

[bpf-next,v3,0/2] Add table of BPF program types to docs

Message ID 20220829091500.24115-1-donald.hunter@gmail.com (mailing list archive)
Headers show
Series Add table of BPF program types to docs | expand

Message

Donald Hunter Aug. 29, 2022, 9:14 a.m. UTC
Extend the libbpf documentation with a table of program types, attach
points and ELF section names. The table uses data from program_types.csv
which is generated from tools/lib/bpf/libbpf.c during the documentation
build.

Patch 1 adds subdir support to Documentation/Makefile and changes
userspace-api/media to use this instead of being a special case.

Patch 2 adds the program_types documentation with a new makefile in
the libbpf doc directory to generate program_types.csv

I plan to look at adding info about the format of section "extras" for
each program type as a follow-on.

v2 -> v3:
Put program_types after API docs in TOC as suggested by Andrii Nakryiko
Fix formatting as reported by Andrii Nakryiko
Include USDT extras example as suggested by Andrii Nakryiko
Include sample of program_types.csv as suggested by Andrii Nakryiko

v1 -> v2:
Automate the generation of program_types.csv as suggested by
Andrii Nakryiko.

Donald Hunter (2):
  Add subdir support to Documentation makefile
  Add table of BPF program types to libbpf docs

 Documentation/Makefile                     | 16 ++++++-
 Documentation/bpf/libbpf/Makefile          | 49 ++++++++++++++++++++++
 Documentation/bpf/libbpf/index.rst         |  3 ++
 Documentation/bpf/libbpf/program_types.rst | 32 ++++++++++++++
 Documentation/bpf/programs.rst             |  3 ++
 Documentation/userspace-api/media/Makefile |  2 +
 6 files changed, 103 insertions(+), 2 deletions(-)
 create mode 100644 Documentation/bpf/libbpf/Makefile
 create mode 100644 Documentation/bpf/libbpf/program_types.rst

Comments

Andrii Nakryiko Sept. 9, 2022, 10:24 p.m. UTC | #1
On Mon, Aug 29, 2022 at 2:15 AM Donald Hunter <donald.hunter@gmail.com> wrote:
>
> Extend the libbpf documentation with a table of program types, attach
> points and ELF section names. The table uses data from program_types.csv
> which is generated from tools/lib/bpf/libbpf.c during the documentation
> build.
>
> Patch 1 adds subdir support to Documentation/Makefile and changes
> userspace-api/media to use this instead of being a special case.
>
> Patch 2 adds the program_types documentation with a new makefile in
> the libbpf doc directory to generate program_types.csv
>
> I plan to look at adding info about the format of section "extras" for
> each program type as a follow-on.
>
> v2 -> v3:
> Put program_types after API docs in TOC as suggested by Andrii Nakryiko
> Fix formatting as reported by Andrii Nakryiko
> Include USDT extras example as suggested by Andrii Nakryiko
> Include sample of program_types.csv as suggested by Andrii Nakryiko
>
> v1 -> v2:
> Automate the generation of program_types.csv as suggested by
> Andrii Nakryiko.
>
> Donald Hunter (2):
>   Add subdir support to Documentation makefile
>   Add table of BPF program types to libbpf docs
>
>  Documentation/Makefile                     | 16 ++++++-
>  Documentation/bpf/libbpf/Makefile          | 49 ++++++++++++++++++++++
>  Documentation/bpf/libbpf/index.rst         |  3 ++
>  Documentation/bpf/libbpf/program_types.rst | 32 ++++++++++++++
>  Documentation/bpf/programs.rst             |  3 ++
>  Documentation/userspace-api/media/Makefile |  2 +
>  6 files changed, 103 insertions(+), 2 deletions(-)
>  create mode 100644 Documentation/bpf/libbpf/Makefile
>  create mode 100644 Documentation/bpf/libbpf/program_types.rst
>
> --
> 2.35.1
>

This is marked as Changes Requested, so I presume there are some
fixes/updates pending on top of v3? BPF CI should probably be done as
a follow up, though.

But otherwise looks good to me and I appreciate the effort to improve
libbpf's documentations.

Acked-by: Andrii Nakryiko <andrii@kernel.org>
Donald Hunter Sept. 12, 2022, 8:44 a.m. UTC | #2
Andrii Nakryiko <andrii.nakryiko@gmail.com> writes:

> On Mon, Aug 29, 2022 at 2:15 AM Donald Hunter <donald.hunter@gmail.com> wrote:
>>
>> Extend the libbpf documentation with a table of program types, attach
>> points and ELF section names. The table uses data from program_types.csv
>> which is generated from tools/lib/bpf/libbpf.c during the documentation
>> build.
>>
>> Patch 1 adds subdir support to Documentation/Makefile and changes
>> userspace-api/media to use this instead of being a special case.
>>
>> Patch 2 adds the program_types documentation with a new makefile in
>> the libbpf doc directory to generate program_types.csv
>>
>> I plan to look at adding info about the format of section "extras" for
>> each program type as a follow-on.
>>
>> v2 -> v3:
>> Put program_types after API docs in TOC as suggested by Andrii Nakryiko
>> Fix formatting as reported by Andrii Nakryiko
>> Include USDT extras example as suggested by Andrii Nakryiko
>> Include sample of program_types.csv as suggested by Andrii Nakryiko
>>
>> v1 -> v2:
>> Automate the generation of program_types.csv as suggested by
>> Andrii Nakryiko.
>>
>> Donald Hunter (2):
>>   Add subdir support to Documentation makefile
>>   Add table of BPF program types to libbpf docs
>>
>>  Documentation/Makefile                     | 16 ++++++-
>>  Documentation/bpf/libbpf/Makefile          | 49 ++++++++++++++++++++++
>>  Documentation/bpf/libbpf/index.rst         |  3 ++
>>  Documentation/bpf/libbpf/program_types.rst | 32 ++++++++++++++
>>  Documentation/bpf/programs.rst             |  3 ++
>>  Documentation/userspace-api/media/Makefile |  2 +
>>  6 files changed, 103 insertions(+), 2 deletions(-)
>>  create mode 100644 Documentation/bpf/libbpf/Makefile
>>  create mode 100644 Documentation/bpf/libbpf/program_types.rst
>>
>> --
>> 2.35.1
>>
>
> This is marked as Changes Requested, so I presume there are some
> fixes/updates pending on top of v3? BPF CI should probably be done as
> a follow up, though.

Yes, there is a typo reported by Jesper Brouer that will require a v4.

> But otherwise looks good to me and I appreciate the effort to improve
> libbpf's documentations.
>
> Acked-by: Andrii Nakryiko <andrii@kernel.org>

This patchset will break the documentation build in the libbpf GitHub
repository when Documentation/bpf/libbpf gets synced to there.

At a minimum, I think I would need to refactor this patchset so that it
is easier to integrate the .csv generation into the libbpf GitHub
documentation build. But a simpler way forward might be to move this
entirely to the libbpf Github repository and then just add a readthedocs
URL to Documentation/bpf/libbpf/index.rst, the same as currently done
for the API docs.