From: Song Liu <songliubraving@fb.com> To: <bpf@vger.kernel.org>, <netdev@vger.kernel.org>, <linux-mm@kvack.org> Cc: <ast@kernel.org>, <daniel@iogearbox.net>, <andrii@kernel.org>, <john.fastabend@gmail.com>, <kpsingh@chromium.org>, <kernel-team@fb.com>, <akpm@linux-foundation.org>, Song Liu <songliubraving@fb.com> Subject: [PATCH v3 bpf-next 0/4] introduce bpf_iter for task_vma Date: Wed, 6 Jan 2021 20:17:57 -0800 Message-ID: <20210107041801.2003241-1-songliubraving@fb.com> (raw) This set introduces bpf_iter for task_vma, which can be used to generate information similar to /proc/pid/maps. Patch 4/4 adds an example that mimics /proc/pid/maps. Current /proc/<pid>/maps and /proc/<pid>/smaps provide information of vma's of a process. However, these information are not flexible enough to cover all use cases. For example, if a vma cover mixed 2MB pages and 4kB pages (x86_64), there is no easy way to tell which address ranges are backed by 2MB pages. task_vma solves the problem by enabling the user to generate customize information based on the vma (and vma->vm_mm, vma->vm_file, etc.). Changes v2 => v3: 1. Rewrite 1/4 so that we hold mmap_lock while calling BPF program. This enables the BPF program to access the real vma with BTF. (Alexei) 2. Fix the logic when the control is returned to user space. (Yonghong) 3. Revise commit log and cover letter. (Yonghong) Changes v1 => v2: 1. Small fixes in task_iter.c and the selftests. (Yonghong) Song Liu (4): bpf: introduce task_vma bpf_iter bpf: allow bpf_d_path in sleepable bpf_iter program libbpf: introduce section "iter.s/" for sleepable bpf_iter program selftests/bpf: add test for bpf_iter_task_vma kernel/bpf/task_iter.c | 212 +++++++++++++++++- kernel/trace/bpf_trace.c | 5 + tools/lib/bpf/libbpf.c | 5 + .../selftests/bpf/prog_tests/bpf_iter.c | 114 +++++++++- tools/testing/selftests/bpf/progs/bpf_iter.h | 8 + .../selftests/bpf/progs/bpf_iter_task_vma.c | 58 +++++ 6 files changed, 391 insertions(+), 11 deletions(-) create mode 100644 tools/testing/selftests/bpf/progs/bpf_iter_task_vma.c -- 2.24.1
next reply index Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-01-07 4:17 Song Liu [this message] 2021-01-07 4:17 ` [PATCH v3 bpf-next 1/4] bpf: introduce task_vma bpf_iter Song Liu 2021-01-12 18:43 ` Yonghong Song 2021-01-07 4:18 ` [PATCH v3 bpf-next 4/4] selftests/bpf: add test for bpf_iter_task_vma Song Liu [not found] ` <20210107041801.2003241-3-songliubraving@fb.com> 2021-01-08 21:54 ` [PATCH v3 bpf-next 2/4] bpf: allow bpf_d_path in sleepable bpf_iter program KP Singh
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=20210107041801.2003241-1-songliubraving@fb.com \ --to=songliubraving@fb.com \ --cc=akpm@linux-foundation.org \ --cc=andrii@kernel.org \ --cc=ast@kernel.org \ --cc=bpf@vger.kernel.org \ --cc=daniel@iogearbox.net \ --cc=john.fastabend@gmail.com \ --cc=kernel-team@fb.com \ --cc=kpsingh@chromium.org \ --cc=linux-mm@kvack.org \ --cc=netdev@vger.kernel.org \ /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
BPF Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/bpf/0 bpf/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 bpf bpf/ https://lore.kernel.org/bpf \ bpf@vger.kernel.org public-inbox-index bpf Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.bpf AGPL code for this site: git clone https://public-inbox.org/public-inbox.git