Re: [Patch v5 0/7] acpi,memory-hotplug: implement framework for hot removing memory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Rafael,

2012/11/16 9:28, Rafael J. Wysocki wrote:
On Thursday, November 15, 2012 02:59:30 PM Wen Congyang wrote:
The memory device can be removed by 2 ways:
1. send eject request by SCI
2. echo 1 >/sys/bus/pci/devices/PNP0C80:XX/eject

In the 1st case, acpi_memory_disable_device() will be called.
In the 2nd case, acpi_memory_device_remove() will be called.
acpi_memory_device_remove() will also be called when we unbind the
memory device from the driver acpi_memhotplug or a driver initialization
fails.

acpi_memory_disable_device() has already implemented a code which
offlines memory and releases acpi_memory_info struct . But
acpi_memory_device_remove() has not implemented it yet.

So the patch prepares the framework for hot removing memory and
adds the framework into acpi_memory_device_remove().

We may hotremove the memory device by this 2 ways at the same time.
So we remove the function acpi_memory_disable_device(), and use
acpi_bus_hot_remove_device() which is used by 2nd case to implement it.
We lock device in acpi_bus_hot_remove_device(), so there is no
need to add lock in acpi_memhotplug.

The last version of this patchset is here:
https://lkml.org/lkml/2012/11/8/121

Note:
1. The following commit in pm tree can be dropped now(The other two patches
    are already dropped):
    54c4c7db6cb94d7d1217df6d7fca6847c61744ab
2. This patchset requires the following patch(It is in pm tree now)
    https://lkml.org/lkml/2012/11/1/225

Changes from v4 to v5:
1. patch2: new patch. use acpi_bus_hot_remove_device() to implement memory
    device hotremove.

Changes from v3 to v4:
1. patch1: unlock list_lock when removing memory fails.
2. patch2: just rebase them
3. patch3-7: these patches are in -mm tree, and they conflict with this
    patchset, so Adrew Morton drop them from -mm tree. I rebase and merge
    them into this patchset.

Wen Congyang (6):
   acpi,memory-hotplug: deal with eject request in hotplug queue
   acpi_memhotplug.c: fix memory leak when memory device is unbound from
     the module acpi_memhotplug
   acpi_memhotplug.c: free memory device if acpi_memory_enable_device()
     failed
   acpi_memhotplug.c: don't allow to eject the memory device if it is
     being used
   acpi_memhotplug.c: bind the memory device when the driver is being
     loaded
   acpi_memhotplug.c: auto bind the memory device which is hotplugged
     before the driver is loaded

Yasuaki Ishimatsu (1):
   acpi,memory-hotplug : add memory offline code to
     acpi_memory_device_remove()

Well, I have tried _really_ hard to apply this patchset, but pretty much
none of the patches except for [1/7] applied for me.  I have no idea what
tree they are against, but I'm pretty sure it's not my tree.

I _have_ applied patches [1-4/7] and pushed them to linux-pm.git/linux-next.

I checked your tree and found a mistake.
You merged a following patch into your tree.

commitid:2ba281f1
ACPI / memory-hotplug: introduce a mutex lock to protect the list
in acpi_memory_device

But it is wrong.

[1/7] patch is "acpi,memory-hotplug : add memory offline code to
acpi_memory_device_remove()". So we would like you to merge it
instead of commitid:2ba281f1.

Thanks,
Yasuaki Ishimatsu

I needed to fix up almost all of them so that they applied, so please check
if my fixups make sense (and let me know ASAP if that's not the case).

If they are OK, please rebase the rest of the series on top of
linux-pm.git/linux-next and repost.  I'm not going to take any more
patches that don't apply from you.

Moreover, I'm not going to take any more ACPI memory hotplug patches
for v3.8 except for the [5-7/7] from this series (after they have been
rebased and _if_ they apply), so please don't submit any until the v3.8
merge window closes (of course, you're free to post RFCs, but I will
ignore them).

Thanks,
Rafael




--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]