Messages in this thread Patch in this message | | | Date | Wed, 22 Apr 2015 11:25:51 -0400 | From | Tejun Heo <> | Subject | Re: [PATCH v10 1/4] cgroups: use bitmask to filter for_each_subsys |
| |
Hello, Aleksa.
On Sun, Apr 19, 2015 at 10:22:31PM +1000, Aleksa Sarai wrote: > -static int need_forkexit_callback __read_mostly; > +static int need_fork_callback __read_mostly; > +static int need_exit_callback __read_mostly;
These are bitmasks now, right? Let's make them unsigned int.
> static struct cftype cgroup_dfl_base_files[]; > +#define for_each_subsys_which(ss_mask, ss, ssid) \ > + for_each_subsys((ss), (ssid)) \ > + if ((ss_mask) & (1 << (ssid)))
Maybe using for_each_set_bit() is better?
#define for_each_subsys_which(ss_mask, ss, ssid) \ for_each_set_bit(ssid, &(ss_mask), CGROUP_SUBSYS_COUNT) \ if ((ss) = group_subsys[ssid] && false) \ ; \ else
> @@ -4932,7 +4947,8 @@ static void __init cgroup_init_subsys(struct cgroup_subsys *ss, bool early) > * init_css_set is in the subsystem's root cgroup. */ > init_css_set.subsys[ss->id] = css; > > - need_forkexit_callback |= ss->fork || ss->exit; > + need_fork_callback |= (bool) ss->fork << ss->id; > + need_exit_callback |= (bool) ss->exit << ss->id; ^ please drop the space here
Other than the above minor points, looks good to me.
Thanks for the persistence.
-- tejun
| |