From: Yonghong Song <yhs@fb.com>
To: Kui-Feng Lee <kuifeng@fb.com>,
bpf@vger.kernel.org, ast@kernel.org, daniel@iogearbox.net,
andrii@kernel.org, kernel-team@fb.com
Subject: Re: [PATCH bpf-next v7 3/5] bpf: Handle show_fdinfo for the parameterized task BPF iterators
Date: Fri, 26 Aug 2022 12:49:30 -0700 [thread overview]
Message-ID: <af4b71d1-b793-8774-171e-7d8104153b66@fb.com> (raw)
In-Reply-To: <20220826003712.2810158-4-kuifeng@fb.com>
On 8/25/22 5:37 PM, Kui-Feng Lee wrote:
> Show information of iterators in the respective files under
> /proc/<pid>/fdinfo/.
>
> For example, for a task file iterator with 1723 as the value of tid
> parameter, its fdinfo would look like the following lines.
>
> pos: 0
> flags: 02000000
> mnt_id: 14
> ino: 38
> link_type: iter
> link_id: 51
> prog_tag: a590ac96db22b825
> prog_id: 299
> target_name: task_file
> task_type: TID
> tid: 1723
>
> This patch add the last three fields. task_type is the type of the
> task parameter. TID means the iterator visit only the thread
> specified by tid. The value of tid in the above example is 1723. For
> the case of PID task_type, it means the iterator visits only threads
> of a process and will show the pid value of the process instead of a
> tid.
>
> Signed-off-by: Kui-Feng Lee <kuifeng@fb.com>
LGTM with a nit below.
Acked-by: Yonghong Song <yhs@fb.com>
> ---
> kernel/bpf/task_iter.c | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/kernel/bpf/task_iter.c b/kernel/bpf/task_iter.c
> index 72c8747dff89..d3e8e1549135 100644
> --- a/kernel/bpf/task_iter.c
> +++ b/kernel/bpf/task_iter.c
> @@ -10,6 +10,12 @@
> #include <linux/btf_ids.h>
> #include "mmap_unlock_work.h"
>
> +static const char * const iter_task_type_names[] = {
> + "ALL",
> + "TID",
> + "PID",
> +};
> +
> struct bpf_iter_seq_task_common {
> struct pid_namespace *ns;
> enum bpf_iter_task_type type;
> @@ -623,6 +629,15 @@ static int bpf_iter_fill_link_info(const struct bpf_iter_aux_info *aux, struct b
> return 0;
> }
>
> +static void bpf_iter_task_show_fdinfo(const struct bpf_iter_aux_info *aux, struct seq_file *seq)
> +{
> + seq_printf(seq, "task_type:\t%s\n", iter_task_type_names[aux->task.type]);
> + if (aux->task.type == BPF_TASK_ITER_TID)
> + seq_printf(seq, "tid: %d\n", aux->task.pid);
"tid:\t%d\n"
> + else if (aux->task.type == BPF_TASK_ITER_TGID)
> + seq_printf(seq, "pid: %d\n", aux->task.pid);
"pid:\t%d\n"
> +}
> +
[...]
next prev parent reply other threads:[~2022-08-26 19:49 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-26 0:37 [PATCH bpf-next v7 0/5] Parameterize task iterators Kui-Feng Lee
2022-08-26 0:37 ` [PATCH bpf-next v7 1/5] bpf: " Kui-Feng Lee
2022-08-26 19:30 ` Yonghong Song
2022-08-27 18:29 ` Kui-Feng Lee
2022-08-26 0:37 ` [PATCH bpf-next v7 2/5] bpf: Handle bpf_link_info for the parameterized task BPF iterators Kui-Feng Lee
2022-08-26 0:37 ` [PATCH bpf-next v7 3/5] bpf: Handle show_fdinfo " Kui-Feng Lee
2022-08-26 19:49 ` Yonghong Song [this message]
2022-08-26 0:37 ` [PATCH bpf-next v7 4/5] selftests/bpf: Test " Kui-Feng Lee
2022-08-26 21:19 ` Yonghong Song
2022-08-26 21:24 ` Yonghong Song
2022-08-27 18:33 ` Kui-Feng Lee
2022-08-26 0:37 ` [PATCH bpf-next v7 5/5] bpftool: Show parameters of BPF task iterators Kui-Feng Lee
2022-08-26 11:23 ` Quentin Monnet
2022-08-26 22:58 ` Kui-Feng Lee
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=af4b71d1-b793-8774-171e-7d8104153b66@fb.com \
--to=yhs@fb.com \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=kernel-team@fb.com \
--cc=kuifeng@fb.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox