[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <d2220bfb-db28-251a-66ca-6f3a6377c94f@isovalent.com>
Date: Mon, 15 Jun 2020 10:30:26 +0100
From: Quentin Monnet <quentin@...valent.com>
To: Andrii Nakryiko <andrii.nakryiko@...il.com>
Cc: Toke Høiland-Jørgensen <toke@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Alexei Starovoitov <alexei.starovoitov@...il.com>,
Andrii Nakryiko <andriin@...com>, bpf <bpf@...r.kernel.org>,
Networking <netdev@...r.kernel.org>,
Alexei Starovoitov <ast@...com>,
Daniel Borkmann <daniel@...earbox.net>,
Kernel Team <kernel-team@...com>, Hao Luo <haoluo@...gle.com>,
Song Liu <songliubraving@...com>
Subject: Re: [RFC PATCH bpf-next 8/8] tools/bpftool: show PIDs with FDs open
against BPF map/prog/link/btf
2020-06-15 11:04 UTC+0200 ~ Toke Høiland-Jørgensen <toke@...hat.com>
> Arnaldo Carvalho de Melo <acme@...nel.org> writes:
>
>> Em Fri, Jun 12, 2020 at 10:57:59PM -0700, Andrii Nakryiko escreveu:
>>> On Fri, Jun 12, 2020 at 8:45 PM Alexei Starovoitov
>>> <alexei.starovoitov@...il.com> wrote:
>>>>
>>>> On Fri, Jun 12, 2020 at 03:31:50PM -0700, Andrii Nakryiko wrote:
>>>>> Add bpf_iter-based way to find all the processes that hold open FDs against
>>>>> BPF object (map, prog, link, btf). Add new flag (-o, for "ownership", given
>>>>> -p is already taken) to trigger collection and output of these PIDs.
>>>>>
>>>>> Sample output for each of 4 BPF objects:
>>>>>
>>>>> $ sudo ./bpftool -o prog show
>>>>> 1992: cgroup_skb name egress_alt tag 9ad187367cf2b9e8 gpl
>>>>> loaded_at 2020-06-12T14:18:10-0700 uid 0
>>>>> xlated 48B jited 59B memlock 4096B map_ids 2074
>>>>> btf_id 460
>>>>> pids: 913709,913732,913733,913734
>>>>> 2062: cgroup_device tag 8c42dee26e8cd4c2 gpl
>>>>> loaded_at 2020-06-12T14:37:52-0700 uid 0
>>>>> xlated 648B jited 409B memlock 4096B
>>>>> pids: 1
>>>>>
>>>>> $ sudo ./bpftool -o map show
>>>>> 2074: array name test_cgr.bss flags 0x400
>>>>> key 4B value 8B max_entries 1 memlock 8192B
>>>>> btf_id 460
>>>>> pids: 913709,913732,913733,913734
>>>>>
>>>>> $ sudo ./bpftool -o link show
>>>>> 82: cgroup prog 1992
>>>>> cgroup_id 0 attach_type egress
>>>>> pids: 913709,913732,913733,913734
>>>>> 86: cgroup prog 1992
>>>>> cgroup_id 0 attach_type egress
>>>>> pids: 913709,913732,913733,913734
>>>>
>>>> This is awesome.
>>
>> Indeed.
>>
>>> Thanks.
>>>
>>>>
>>>> Why extra flag though? I think it's so useful that everyone would want to see
>>
>> Agreed.
>>
>>> No good reason apart from "being safe by default". If turned on by
>>> default, bpftool would need to probe for bpf_iter support first. I can
>>> add probing and do this by default.
>>
>> I think this is the way to go.
>
> +1
>
> And also +1 on the awesomeness of this feature! :)
>
> -Toke
>
Thanks a lot Andrii, the feature looks great indeed.
Thank you for the clean-up and refactoring in bpftool and its Makefile
as well, I am happy to confirm that test_bpftool_build.sh still passes
on my setup with your changes.
Quentin
Powered by blists - more mailing lists