Thread (10 messages) 10 messages, 3 authors, 2021-06-08

Re: [PATCH v1] memory-hotplug.rst: complete admin-guide overhaul

From: Mike Rapoport <rppt@kernel.org>
Date: 2021-06-08 14:18:32
Also in: linux-mm, lkml

On Tue, Jun 08, 2021 at 03:04:19PM +0200, David Hildenbrand wrote:

...
quoted
quoted
+--------------
-You can offline a memory block by using the same sysfs interface that was used
-in memory onlining::
+We usually expect that a large portion of available system RAM will actually
+be consumed by user space, either directly or indirectly via the page cache. In
+the normal case, ZONE_MOVABLE can be used when allocating such pages just fine.
-	% echo offline > /sys/devices/system/memory/memoryXXX/state
+With that in mind, it makes sense that we can have a big portion of system RAM
+managed by ZONE_MOVABLE. However, there are some things to consider when
+using ZONE_MOVABLE, especially when fine-tuning zone ratios:
-If offline succeeds, the state of the memory block is changed to be "offline".
-If it fails, some error core (like -EBUSY) will be returned by the kernel.
-Even if a memory block does not belong to ZONE_MOVABLE, you can try to offline
-it.  If it doesn't contain 'unmovable' memory, you'll get success.
+- Having a lot of offline memory blocks. Even offline memory blocks consume
+  memory for metadata and page tables in the direct map; having a lot of
+  offline memory blocks is not a typical case, though.
+
+- Memory ballooning. Some memory ballooning implementations, such as
+  the Hyper-V balloon, the XEN balloon, the vbox balloon and the VMWare
So, everyone except virtio-mem? ;-)
Well, virtio-mem does not classify as memory balloon in that sense, as it
only operates on own device memory ;)

virtio-balloon and pseries CMM support balloon compaction.
quoted
I'd drop the names because if some of those will implement balloon
compaction they surely will forget to update the docs.
 
I can do the opposite and mention the ones that already do. Some most
probably will never support it.

"Memory ballooning without balloon compaction is incompatible with
ZONE_MOVABLE. Only some implementations, such as virtio-balloon and pseries
CMM, fully support balloon compaction."
 
Sounds good.
 
-- 
Sincerely yours,
Mike.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help