Re: [PATCH v4 bpf-next 4/4] selftests/bpf: add bpf_iter test with bpf_get_task_stack()

From: Song Liu
Date: Mon Jun 29 2020 - 15:36:28 EST




> On Jun 29, 2020, at 8:06 AM, Yonghong Song <yhs@xxxxxx> wrote:
>
>
>
> On 6/28/20 10:55 PM, Song Liu wrote:
>> The new test is similar to other bpf_iter tests. It dumps all
>> /proc/<pid>/stack to a seq_file. Here is some example output:
>> pid: 2873 num_entries: 3
>> [<0>] worker_thread+0xc6/0x380
>> [<0>] kthread+0x135/0x150
>> [<0>] ret_from_fork+0x22/0x30
>> pid: 2874 num_entries: 9
>> [<0>] __bpf_get_stack+0x15e/0x250
>> [<0>] bpf_prog_22a400774977bb30_dump_task_stack+0x4a/0xb3c
>> [<0>] bpf_iter_run_prog+0x81/0x170
>> [<0>] __task_seq_show+0x58/0x80
>> [<0>] bpf_seq_read+0x1c3/0x3b0
>> [<0>] vfs_read+0x9e/0x170
>> [<0>] ksys_read+0xa7/0xe0
>> [<0>] do_syscall_64+0x4c/0xa0
>> [<0>] entry_SYSCALL_64_after_hwframe+0x44/0xa9
>> Note: To print the output, it is necessary to modify the selftest.
>
> I do not know what this sentence means. It seems confusing
> and probably not needed.

It means current do_dummy_read() doesn't check/print the contents of the
seq_file:

/* not check contents, but ensure read() ends without error */
while ((len = read(iter_fd, buf, sizeof(buf))) > 0)
;

>
>> Signed-off-by: Song Liu <songliubraving@xxxxxx>
>
> Acked-by: Yonghong Song <yhs@xxxxxx>

Thanks!

[...]