Messages in this thread | | | Date | Wed, 11 May 2011 08:19:00 -0700 | From | Greg KH <> | Subject | Re: [PATCH] memory hotplug: Speed up add/remove when blocks are larger than PAGES_PER_SECTION |
| |
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.
Very nice job, I'll queue this up for .40.
thanks,
greg k-h
| |