Re: [PATCH 3/4] cpuset: Fix unchecked calls to NODEMASK_ALLOC()
From: Paul Menage <hidden>
Date: 2011-02-17 23:57:20
Also in:
lkml
On Thu, Feb 17, 2011 at 2:46 PM, Andrew Morton [off-list ref] wrote:
On Thu, 17 Feb 2011 09:50:09 +0800 Li Zefan [off-list ref] wrote:quoted
+/* + * 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@kvack.org. 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=mailto:"dont@kvack.org"> email@kvack.org </a>