From: Paul Jackson Date: Sun, 8 Jan 2006 09:02:03 +0000 (-0800) Subject: [PATCH] cpuset: mark number_of_cpusets read_mostly X-Git-Tag: v2.6.16-rc1~816 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7edc59628b2f5d6516b4677b3b56f5f056e45cd9;p=linux-2.6 [PATCH] cpuset: mark number_of_cpusets read_mostly Mark cpuset global 'number_of_cpusets' as __read_mostly. This global is accessed everytime a zone is considered in the zonelist loops beneath __alloc_pages, looking for a free memory page. If number_of_cpusets is just one, then we can short circuit the mems_allowed check. Since this global is read alot on a hot path, and written rarely, it is an excellent candidate for __read_mostly. Thanks to Christoph Lameter for the suggestion. Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/kernel/cpuset.c b/kernel/cpuset.c index 6fe28d6f28..681a5d58d4 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c @@ -62,7 +62,7 @@ * When there is only one cpuset (the root cpuset) we can * short circuit some hooks. */ -int number_of_cpusets; +int number_of_cpusets __read_mostly; /* See "Frequency meter" comments, below. */