Hello, On Wed, Sep 03, 2025 at 04:30:16PM -0700, Roman Gushchin wrote: ... > > - I'm passing in cgroup_id as an optional field in struct_ops and then in > > enable path, look up the matching cgroup, verify it can attach there and > > insert and update data structures accordingly: > > > > https://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git/tree/kernel/sched/ext.c?h=scx-hier-prototype#n5280 > > Yeah, we discussed this option with Martin up in this thread. It doesn't > look as the best possible solution, but maybe the best we have at the moment. > > Ideally, I want something like this: > > void test_oom(void) > { > struct test_oom *skel; > int err, cgroup_fd; > > cgroup_fd = open(...); > if (cgroup_fd < 0) > goto cleanup; > > skel = test_oom__open_and_load(); > if (!skel) > goto cleanup; > > err = test_oom__attach_cgroup(skel, cgroup_fd); > if (CHECK_FAIL(err)) > goto cleanup; Yeah, that'd look better but are there practical differences? The only one I can think of is fs based permission check but that can be done separately too. Thanks. -- tejun