Re: [PATCH] mm: meminit: Finish initialisation of struct pages before basic setup

From: Mel Gorman
Date: Fri Jun 26 2015 - 06:16:16 EST


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@xxxxxxx>
> 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@xxxxxxx>
> Cc: Waiman Long <waiman.long@xxxxxx
> Cc: Dave Hansen <dave.hansen@xxxxxxxxx>
> Cc: Scott Norton <scott.norton@xxxxxx>
> Cc: Daniel J Blueman <daniel@xxxxxxxxxxxxx>
> Signed-off-by: Nathan Zimmer <nzimmer@xxxxxxx>
>

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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/