[PATCH] cpuset: number_of_cpusets optimization
authorPaul Jackson <pj@sgi.com>
Sun, 8 Jan 2006 09:01:57 +0000 (01:01 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 9 Jan 2006 04:13:44 +0000 (20:13 -0800)
commit202f72d5d1b5c2c084f63ef996c736d208b447b5
treef50551f9588f9090fee17130614e17a2dd64c656
parent74cb21553f4bf244185b9bec4c26e4e3169ad55e
[PATCH] cpuset: number_of_cpusets optimization

Easy little optimization hack to avoid actually having to call
cpuset_zone_allowed() and check mems_allowed, in the main page allocation
routine, __alloc_pages().  This saves several CPU cycles per page allocation
on systems not using cpusets.

A counter is updated each time a cpuset is created or removed, and whenever
there is only one cpuset in the system, it must be the root cpuset, which
contains all CPUs and all Memory Nodes.  In that case, when the counter is
one, all allocations are allowed.

Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
include/linux/cpuset.h
kernel/cpuset.c