Re: [PATCH] memory hotplug: Speed up add/remove when blocks arelarger than PAGES_PER_SECTION

From: Greg KH
Date: Wed May 11 2011 - 18:23:18 EST


On Wed, May 11, 2011 at 05:25:14PM +1000, Anton Blanchard wrote:
>
> On ppc64 the minimum memory section for hotplug is 16MB but most
> recent machines have a memory block size of 256MB. This means
> memory_block_change_state does 16 separate calls to
> memory_section_action.
>
> This also means we call the notifiers 16 times and the hook
> in the ehea network driver is quite costly. To offline one 256MB
> region takes:
>
> # time echo offline > /sys/devices/system/memory/memory32/state
> 7.9s
>
> This patch removes the loop and calls online_pages or
> remove_memory once for the entire region and in doing so makes
> the logic simpler since we don't have to back out if things fail
> part way through.
>
> The same test to offline one region now takes:
>
> # time echo online > /sys/devices/system/memory/memory32/state
> 0.67s
>
> Over 11 times faster.
>
> Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>

Your patch introduced a compiler warning, care to send a follow-on patch
fixing this up:
drivers/base/memory.c: In function âmemory_block_change_stateâ:
drivers/base/memory.c:281:6: warning: unused variable âiâ

thanks,

greg k-h
--
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/