Messages in this thread | | | Date | Mon, 16 Mar 2009 12:46:44 +0100 | From | Nick Piggin <> | Subject | Re: [PATCH 20/35] Use a pre-calculated value for num_online_nodes() |
| |
On Mon, Mar 16, 2009 at 10:42:34PM +1100, Nick Piggin wrote: > On Monday 16 March 2009 20:46:15 Mel Gorman wrote: > > num_online_nodes() is called by the page allocator to decide whether the > > zonelist needs to be filtered based on cpusets or the zonelist cache. > > This is actually a heavy function and touches a number of cache lines. > > This patch stores the number of online nodes at boot time and when > > nodes get onlined and offlined. > > > > Signed-off-by: Mel Gorman <mel@csn.ul.ie> > > --- > > include/linux/nodemask.h | 16 ++++++++++++++-- > > mm/page_alloc.c | 6 ++++-- > > 2 files changed, 18 insertions(+), 4 deletions(-) > > > > diff --git a/include/linux/nodemask.h b/include/linux/nodemask.h > > index 848025c..4749e30 100644 > > --- a/include/linux/nodemask.h > > +++ b/include/linux/nodemask.h > > @@ -449,13 +449,25 @@ static inline int num_node_state(enum node_states > > state) node; \ > > }) > > > > +/* Recorded value for num_online_nodes() */ > > +extern int static_num_online_nodes; > > __read_mostly, please. Check this for any other place you've added > global cachelines that are referenced by the allocator.
OK I'm blind, sorry ignore that :P
| |