Messages in this thread | | | Date | Mon, 21 May 2018 09:26:11 -0700 | From | Alexei Starovoitov <> | Subject | Re: [PATCH] [RFC] bpf: tracing: new helper bpf_get_current_cgroup_ino |
| |
On Sun, May 13, 2018 at 07:33:18PM +0200, Alban Crequy wrote: > > +BPF_CALL_2(bpf_get_current_cgroup_ino, u32, hierarchy, u64, flags) > +{ > + // TODO: pick the correct hierarchy instead of the mem controller > + struct cgroup *cgrp = task_cgroup(current, memory_cgrp_id); > + > + if (unlikely(!cgrp)) > + return -EINVAL; > + if (unlikely(hierarchy)) > + return -EINVAL; > + if (unlikely(flags)) > + return -EINVAL; > + > + return cgrp->kn->id.ino;
ino only is not enough to identify cgroup. It needs generation number too. I don't quite see how hierarchy and flags can be used in the future. Also why limit it to memcg?
How about something like this instead:
BPF_CALL_2(bpf_get_current_cgroup_id) { struct cgroup *cgrp = task_dfl_cgroup(current);
return cgrp->kn->id.id; } The user space can use fhandle api to get the same 64-bit id.
| |