On Thu, Mar 28, 2024 at 1:02 PM Tejun Heo <tj@xxxxxxxxxx> wrote: > > There's also cgroup.kill which would be useful for similar use cases. We can > add interface for both but idk. Let's say we have something like the > following (pardon the bad naming): > > bpf_cgroup_knob_write(struct cgroup *cgrp, char *filename, char *buf) > > Would that work? I'm not necessarily in love with the idea or against adding > separate helpers but the duplication still bothers me a bit. I liked it. So filename will be one of cgroup_base_files[].name ? We probably don't want psi or cgroup1_base_files in there. >From the verifier pov 2nd arg can be "char *knob__str" and the verifier will make sure it's a constant NULL terminated string, so at runtime it will be easier to search cgroup_base_files array. And 'buf' can be: void *mem, int mem__sz with kfunc doing run-time validation that there a null there.