On Fri, Jul 17, 2015 at 02:39:13PM +0100, Mel Gorman wrote: > I'm don't know and no longer have access to the necessary machine to test > any more. You make a reasonable point and I would be surprised if it was > noticable. On the other hand, conditional locking is evil and the patch > reflected my thinking at the time "we don't need locks during boot". It's > the type of thinking that should be backed with figures if it was to be > used at all so lets go with; Last time I tested it, an uncontended spinlock (cache hot) ran around 20 cycles, the unlock is a regular store (x86) and in single digit cycles. I doubt modern hardware makes it go slower. > ---8<--- > mm, meminit: Allow early_pfn_to_nid to be used during runtime v2 > > early_pfn_to_nid historically was inherently not SMP safe but only > used during boot which is inherently single threaded or during hotplug > which is protected by a giant mutex. With deferred memory initialisation > there was a thread-safe version introduced and the early_pfn_to_nid > would trigger a BUG_ON if used unsafely. Memory hotplug hit that check. > This patch makes early_pfn_to_nid introduces a lock to make it safe to > use during hotplug. > > Reported-and-tested-by: Alex Ng <alexng@xxxxxxxxxxxxx> > Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>