[RFC PATCH v3 0/13] memory-hotplug : hot-remove physical memory
Yasuaki Ishimatsu
isimatu.yasuaki at jp.fujitsu.com
Tue Jul 10 19:58:04 EST 2012
Hi Christoph,
2012/07/10 0:18, Christoph Lameter wrote:
>
> On Mon, 9 Jul 2012, Yasuaki Ishimatsu wrote:
>
>> Even if you apply these patches, you cannot remove the physical memory
>> completely since these patches are still under development. I want you to
>> cooperate to improve the physical memory hot-remove. So please review these
>> patches and give your comment/idea.
>
> Could you at least give a method on how you want to do physical memory
> removal?
We plan to release a dynamic hardware partitionable system. It will be
able to hot remove/add a system board which included memory and cpu.
But as you know, Linux does not support memory hot-remove on x86 box.
So I try to develop it.
Current plan to hot remove system board is to use container driver.
Thus I define the system board in ACPI DSDT table as a container device.
It have supported hot-add a container device. And if container device
has _EJ0 ACPI method, "eject" file to remove the container device is
prepared as follow:
# ls -l /sys/bus/acpi/devices/ACPI0004\:01/eject
--w-------. 1 root root 4096 Jul 10 18:19 /sys/bus/acpi/devices/ACPI0004:01/eject
When I hot-remove the container device, I echo 1 to the file as follow:
#echo 1 > /sys/bus/acpi/devices/ACPI0004\:02/eject
Then acpi_bus_trim() is called. And it calls acpi_memory_device_remove()
for removing memory device. But the code does not do nothing.
So I developed the continuation of the function.
> You would have to remove all objects from the range you want to
> physically remove. That is only possible under special circumstances and
> with a limited set of objects. Even if you exclusively use ZONE_MOVEABLE
> you still may get cases where pages are pinned for a long time.
I know it. So my memory hot-remove plan is as follows:
1. hot-added a system board
All memory which included the system board is offline.
2. online the memory as removable page
The function has not supported yet. It is being developed by Lai as follow:
http://lkml.indiana.edu/hypermail/linux/kernel/1207.0/01478.html
If it is supported, I will be able to create movable memory.
3. hot-remove the memory by container device's eject file
Thanks,
Yasuaki Ishimatsu
>
> I am not sure that these patches are useful unless we know where you are
> going with this. If we end up with a situation where we still cannot
> remove physical memory then this patchset is not helpful.
More information about the Linuxppc-dev
mailing list