Re: [PATCH v10 1/4] cgroups: use bitmask to filter for_each_subsys

From: Peter Zijlstra
Date: Wed Apr 22 2015 - 11:42:30 EST


On Wed, Apr 22, 2015 at 11:25:51AM -0400, Tejun Heo wrote:
> 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.

If, as per the below you want to use the bitmap ops; it needs be
unsigned long.

> > 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

Clever that ;-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/