Messages in this thread | | | Date | Thu, 14 May 2015 20:57:49 +1000 | Subject | Re: [PATCH v10 3/4] cgroups: allow a cgroup subsystem to reject a fork | From | Aleksa Sarai <> |
| |
Hi Tejun,
>> +/* Ditto for the can_fork/cancel_fork/reapply_fork callbacks. */ >> +static int need_canfork_callback __read_mostly; >> +static int need_cancelfork_callback __read_mostly; > > And given that the reason we have these masks is avoiding iteration in > relatively hot paths. Does cancelfork mask make sense?
Do you still want me to remove it? I only added it because it made the callback code more consistent for cancel_fork and can_fork.
>> +void cgroup_cancel_fork(struct task_struct *child, >> + void *ss_state[CGROUP_PREFORK_COUNT]) >> +{ >> + struct cgroup_subsys *ss; >> + int i; >> + >> + for_each_subsys_which(need_cancelfork_callback, ss, i) { >> + void *state = NULL; >> + >> + if (CGROUP_PREFORK_START <= i && i < CGROUP_PREFORK_END) >> + state = ss_state[i - CGROUP_PREFORK_START]; > > Maybe we want a helper callback which does > > if (CGROUP_PREFORK_START <= ssid && ssid < CGROUP_PREFORK_END) > return &ss_state[ssid - CGROUP_PREFORK_START]; > return NULL;
What would be a nice name for it? I can't think of anything better than __get_ss_private() and __get_ss_privatep().
-- Aleksa Sarai (cyphar) www.cyphar.com
| |