lkml.org 
[lkml]   [2015]   [Apr]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [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

\
 
 \ /
  Last update: 2015-04-22 18:01    [W:0.152 / U:3.064 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site