At 11/13/2012 05:00 AM, Toshi Kani Wrote: > On Thu, 2012-11-08 at 19:04 +0800, 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 >> >> This 2 events may happen at the same time, so we may touch >> acpi_memory_device.res_list at the same time. This patch >> introduce a lock to protect this list. > > Hi Wen, > > This race condition is not unique in memory hot-remove as the sysfs > eject interface is created for all objects with _EJ0. For CPU > hot-remove, I addressed this race condition by making the notify handler > to run the hot-remove operation on kacpi_hotplug_wq by calling > acpi_os_hotplug_execute(). This serializes the hot-remove operations > among the two events since the sysfs eject also runs on > kacpi_hotplug_wq. This way is much simpler and is easy to maintain, > although it does not allow both operations to run simultaneously (which > I do not think we need). Can it be used for memory hot-remove as well? Good idea. I will update it. Thanks Wen Congyang > > Thanks, > -Toshi > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html