Messages in this thread | | | Date | Fri, 26 Jun 2015 11:16:00 +0100 | From | Mel Gorman <> | Subject | Re: [PATCH] mm: meminit: Finish initialisation of struct pages before basic setup |
| |
On Wed, Jun 24, 2015 at 05:50:28PM -0500, Nathan Zimmer wrote: > From e18aa6158a60c2134b4eef93c856f3b5b250b122 Mon Sep 17 00:00:00 2001 > From: Nathan Zimmer <nzimmer@sgi.com> > Date: Thu, 11 Jun 2015 10:47:39 -0500 > Subject: [RFC] Avoid the contention in set_cpus_allowed > > Noticing some scaling issues at larger box sizes (64 nodes+) I found that in some > cases we are spending significant amounts of time in set_cpus_allowed_ptr. > > My assumption is that it is getting stuck on migration. > So if we create the thread on the target node and restrict cpus before we start > the thread then we don't have to suffer migration. > > Cc: Mel Gorman <mgorman@suse.de> > Cc: Waiman Long <waiman.long@hp.com > Cc: Dave Hansen <dave.hansen@intel.com> > Cc: Scott Norton <scott.norton@hp.com> > Cc: Daniel J Blueman <daniel@numascale.com> > Signed-off-by: Nathan Zimmer <nzimmer@sgi.com> >
I asked yesterday if set_cpus_allowed_ptr() was required and I made a mistake because it is. The node parameter for kthread_create_on_node() controls where it gets created but not how it is scheduled after that. Sorry for the noise. The patch makes sense to me now, lets see if it helps Daniel.
-- Mel Gorman SUSE Labs
| |