[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH RFC 0/4] mm: place pages to the freelist tail when onling and undoing isolation
On 2020-09-16 20:34, David Hildenbrand wrote: When adding separate memory blocks via add_memory*() and onlining themimmediately, the metadata (especially the memmap) of the next block will beplaced onto one of the just added+onlined block. This creates a chain of unmovable allocations: If the last memory block cannot getofflined+removed() so will all dependant ones. We directly have unmovableallocations all over the place.This can be observed quite easily using virtio-mem, however, it can alsobe observed when using DIMMs. The freshly onlined pages will usually beplaced to the head of the freelists, meaning they will be allocated next,turning the just-added memory usually immediately un-removable. The fresh pages are cold, prefering to allocate others (that might be hot) also feels to be the natural thing to do.It also applies to the hyper-v balloon xen-balloon, and ppc64 dlpar: whenadding separate, successive memory blocks, each memory block will have unmovable allocations on them - for example gigantic pages will fail to allocate.While the ZONE_NORMAL doesn't provide any guarantees that memory can getofflined+removed again (any kind of fragmentation with unmovableallocations is possible), there are many scenarios (hotplugging a lot of memory, running workload, hotunplug some memory/as much as possible) wherewe can offline+remove quite a lot with this patchset. Hi David,I did not read through the patchset yet, so sorry if the question is nonsense, but is this not trying to fix the same issue the vmemmap patches did? [1] I was about to give it a new respin now that thw hwpoison stuff has been settled. [1] https://patchwork.kernel.org/cover/11059175/
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |