Nicholas Piggin <npig...@gmail.com> writes: > On Mon, 30 Apr 2018 18:34:32 +1000 > Balbir Singh <bsinghar...@gmail.com> wrote: > >> This reverts commit 53ecde0b9126ff140abe3aefd7f0ec64d6fa36b0. >> >> The commit above changed the memblock size to 1GiB, which did some >> nice things like create fewer TLB entries for mapping memory at >> the time of hotplug. The downside is that it changes the granularity >> at which memory can be hot-plugged and hot-unplugged. The implication >> is that if we had less than a 1GiB to hot-plug/hot-unplug that >> would not be possible. >> >> The reason we had this fix was to resolve an issue where we did not >> split mappings on hot-unplug, leaving a TLB entry that spanned the >> region that was unplugged. This is now fixed by 4dd5f8a99e79 which >> splits the page table, removing the MMU mappings for the hot-unplugged >> region correctly. >> >> This trade-offs performance as we increase the number of TLB's to >> map 1GiB of memory, mapped in via hot-plug, but gives us the ability >> to handle smaller memory sizes. > > Why does powernv have any memory block size override at all now?
I dunno, history says: powerpc/powernv: Set memory_block_size_bytes to 256MB powerpc sets a low SECTION_SIZE_BITS to accomodate small pseries boxes. We default to 16MB memory blocks, and boxes with a lot of memory end up with enormous numbers of sysfs memory nodes. Set a more reasonable default for powernv of 256MB. Signed-off-by: Anton Blanchard <an...@samba.org> It might make more sense to go back to a single definition for powerpc and have it return a sensible size based on the total available memory - though I guess memory hotplugged after boot might make that difficult. Because we definitely have pseries machines with a lot of memory these days too. cheers