On Thu, Feb 17, 2011 at 2:46 PM, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: > On Thu, 17 Feb 2011 09:50:09 +0800 > Li Zefan <lizf@xxxxxxxxxxxxxx> wrote: > >> +/* >> + * In functions that can't propogate errno to users, to avoid declaring a >> + * nodemask_t variable, and avoid using NODEMASK_ALLOC that can return >> + * -ENOMEM, we use this global cpuset_mems. >> + * >> + * It should be used with cgroup_lock held. > > I'll do s/should/must/ - that would be a nasty bug. > > I'd be more comfortable about the maintainability of this optimisation > if we had > > WARN_ON(!cgroup_is_locked()); > > at each site. > Agreed - that was my first thought on reading the patch. How about: static nodemask_t *cpuset_static_nodemask() { static nodemask_t nodemask; WARN_ON(!cgroup_is_locked()); return &nodemask; } and then just call cpuset_static_nodemask() in the various locations being patched? Paul -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href