From: Ziyang Men <ziyang.meme@gmail.com>
To: "Shuah Khan" <shuah@kernel.org>, "Tejun Heo" <tj@kernel.org>,
"Johannes Weiner" <hannes@cmpxchg.org>,
"Michal Koutný" <mkoutny@suse.com>,
"Jiri Kosina" <jikos@kernel.org>,
"Benjamin Tissoires" <bentiss@kernel.org>,
"David Vernet" <void@manifault.com>,
"Eduard Zingerman" <eddyz87@gmail.com>
Cc: Viktor Malik <vmalik@redhat.com>,
Andrea Righi <arighi@nvidia.com>,
Changwoo Min <changwoo@igalia.com>,
Michal Hocko <mhocko@kernel.org>,
Roman Gushchin <roman.gushchin@linux.dev>,
Shakeel Butt <shakeel.butt@linux.dev>,
Muchun Song <muchun.song@linux.dev>,
Andrew Morton <akpm@linux-foundation.org>,
JP Kobryn <inwardvessel@gmail.com>,
Mykola Lysenko <mykolal@meta.com>,
Nathan Chancellor <nathan@kernel.org>,
kernel-team@meta.com, linux-kselftest@vger.kernel.org,
cgroups@vger.kernel.org, linux-input@vger.kernel.org,
sched-ext@lists.linux.dev, linux-mm@kvack.org,
bpf@vger.kernel.org, llvm@lists.linux.dev,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 0/4] selftests: shared lib.bpf.mk for building BPF progs and skeletons
Date: Mon, 31 Aug 2026 15:18:53 -0700 [thread overview]
Message-ID: <apX9zb+3awc99Pfh@devvm16600.scu0.facebook.com> (raw)
In-Reply-To: <20260814075054.507089-1-ziyang.meme@gmail.com>
Hi Reviewers,
Just want to follow-up on this patch series. Please let me know the possible
issues and I will fix them.
Thanks very much!
Best,
Ziyang
On Fri, Aug 14, 2026 at 12:50:50AM -0700, Ziyang Men wrote:
>This series re-factors the bpf-related toolchain for selftests, which
>currently duplicated across selftests/{bpf,sched_ext,hid}/. Unify them
>into a single includable fragment, the tools/testing/selftests/lib.bpf.mk,
>and wires up three consumers. We believe this will simplify the work for
>configuring selftests with the bpf, for both the existing and future ones.
>
>Patch 1 adds lib.bpf.mk mentioned above.
>
>Patch 2 adds a new selftest, selftests/cgroup/test_memcg_stat_cross_cpu,
>which checks the cgroup flush happens correctly by comparing the bpf
>read value matches the file reading. Existing test
>bpf/cgroup_iter_memcg only ensures whether the number is non-zero, which
>is trivial in some cases.
>
>Patches 3 and 4 replace the duplicated parts in selftests/{hid,
>sched_ext} with the lib.bpf.mk
>
>===
>Changes since v2:
>For shared Makefile:
>- The lib.bpf.mk now use the USERCFLAGS (and USERLDFLAGS) to extend the
> CFLAGS and LDFLAGS.
>- OPT_FLAGS/RELEASE and EXTRA_CFLAGS now reach the libbpf and bpftool
> sub-makes as well.
>- One rule per BPF source instead of a vpath, which is global and also
> applied to the caller's own %.c rules.
>- HOSTCC/HOSTLD come from lib.mk instead of including Makefile.include,
> which also rewrote the caller's AR, LD and CFLAGS.
>- A missing vmlinux is reported by the recipe rather than at parse time,
> so "make clean" still works without BTF.
>
>For cgroup selftest:
>- Only one cgroup tree is created, one flush is performed, follows by
> bpf read and file read.
>- More common cgroup functions e.g., cg_read_key_long() and
> value_close(), are used in the selftests.
>- Use cpu_set_t rather than manually allocated cpu lists.
>- Use test_memcontrol.c's anon allocator and moving it into cgroup_util.
>- Other suggestion from the review.
>
>Others:
>- Bot reviews are fixed.
>
>===
>Changes since v1:
> - Generalized lib.bpf.mk (source layout/suffix, extra hdrs/cflags,
> skeleton suffix, subskeletons, configurable output dirs) so it can
> serve hid and sched_ext, not just cgroup.
> - Added patch 3 (hid) and patch 4 (sched_ext), converting those folders
> to the shared fragment.
>
>Ziyang Men (4):
> selftests: add shared lib.bpf.mk to build BPF progs and skeletons
> selftests/cgroup: add memcg_stat_cross_cpu correctness test for flush
> selftests/hid: build the BPF program via the shared lib.bpf.mk
> selftests/sched_ext: build BPF schedulers via the shared lib.bpf.mk
>
> tools/testing/selftests/cgroup/.gitignore | 8 +
> tools/testing/selftests/cgroup/Makefile | 52 ++
> tools/testing/selftests/cgroup/config | 5 +
> .../selftests/cgroup/lib/cgroup_util.c | 83 +++
> .../cgroup/lib/include/cgroup_util.h | 3 +
> .../cgroup/memcg_stat_cross_cpu.bpf.c | 86 +++
> .../selftests/cgroup/memcg_stat_cross_cpu.h | 21 +
> .../cgroup/test_memcg_stat_cross_cpu.c | 596 ++++++++++++++++++
> .../selftests/cgroup/test_memcontrol.c | 29 +-
> tools/testing/selftests/hid/.gitignore | 1 +
> tools/testing/selftests/hid/Makefile | 180 +-----
> tools/testing/selftests/lib.bpf.mk | 296 +++++++++
> tools/testing/selftests/sched_ext/Makefile | 146 +----
> 13 files changed, 1204 insertions(+), 302 deletions(-)
> create mode 100644 tools/testing/selftests/cgroup/memcg_stat_cross_cpu.bpf.c
> create mode 100644 tools/testing/selftests/cgroup/memcg_stat_cross_cpu.h
> create mode 100644 tools/testing/selftests/cgroup/test_memcg_stat_cross_cpu.c
> create mode 100644 tools/testing/selftests/lib.bpf.mk
>
>--
>2.53.0-Meta
>
next prev parent reply other threads:[~2026-08-31 22:18 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-14 7:50 [PATCH v3 0/4] selftests: shared lib.bpf.mk for building BPF progs and skeletons Ziyang Men
2026-08-14 7:50 ` [PATCH v3 1/4] selftests: add shared lib.bpf.mk to build " Ziyang Men
2026-08-14 8:01 ` sashiko-bot
2026-08-14 17:21 ` bot+bpf-ci
2026-08-14 7:50 ` [PATCH v3 2/4] selftests/cgroup: add memcg_stat_cross_cpu correctness test for flush Ziyang Men
2026-08-14 8:09 ` sashiko-bot
2026-08-14 17:21 ` bot+bpf-ci
2026-08-14 7:50 ` [PATCH v3 3/4] selftests/hid: build the BPF program via the shared lib.bpf.mk Ziyang Men
2026-08-14 17:05 ` bot+bpf-ci
2026-08-14 7:50 ` [PATCH v3 4/4] selftests/sched_ext: build BPF schedulers " Ziyang Men
2026-08-14 17:05 ` bot+bpf-ci
2026-08-31 22:18 ` Ziyang Men [this message]
2026-09-01 0:46 ` [PATCH v3 0/4] selftests: shared lib.bpf.mk for building BPF progs and skeletons Andrew Morton
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=apX9zb+3awc99Pfh@devvm16600.scu0.facebook.com \
--to=ziyang.meme@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=arighi@nvidia.com \
--cc=bentiss@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=cgroups@vger.kernel.org \
--cc=changwoo@igalia.com \
--cc=eddyz87@gmail.com \
--cc=hannes@cmpxchg.org \
--cc=inwardvessel@gmail.com \
--cc=jikos@kernel.org \
--cc=kernel-team@meta.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=llvm@lists.linux.dev \
--cc=mhocko@kernel.org \
--cc=mkoutny@suse.com \
--cc=muchun.song@linux.dev \
--cc=mykolal@meta.com \
--cc=nathan@kernel.org \
--cc=roman.gushchin@linux.dev \
--cc=sched-ext@lists.linux.dev \
--cc=shakeel.butt@linux.dev \
--cc=shuah@kernel.org \
--cc=tj@kernel.org \
--cc=vmalik@redhat.com \
--cc=void@manifault.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.