Hello.
On Wed, Mar 27, 2024 at 11:53:22PM +0100, Djalal Harouni tixxdz@gmail.com wrote:
... For some cases we want to freeze the cgroup of a task based on some signals, doing so from bpf is better than user space which could be too late.
Notice that freezer itself is not immediate -- tasks are frozen as if a signal (kill(2)) was delivered to them (i.e. returning to userspace).
What kind of signals (also kill?) are you talking about for illustration?
Planned users of this feature are: tetragon and systemd when freezing a cgroup hierarchy that could be a K8s pod, container, system service or a user session.
It sounds like the signals are related to a particular process. If so what is it good for to freeze unrelated processes in the same cgroup?
I think those answers better clarify why this is needed.
As for the generalization to any cgroup attribute (or kernfs). Can this be compared with sysctls -- I see there are helpers to intercept user writes but no helpers to affect sysctl values without an outer writer. What would justify different approaches between kernfs attributes and sysctls (direct writes vs modified writes)?
Thanks, Michal