From: "Michael S. Tsirkin" <mst@redhat.com>
To: Zhu Guihua <zhugh.fnst@cn.fujitsu.com>
Cc: hutao@cn.fujitsu.com, qemu-devel@nongnu.org,
tangchen@cn.fujitsu.com, isimatu.yasuaki@jp.fujitsu.com,
pbonzini@redhat.com, guz.fnst@cn.fujitsu.com,
imammedo@redhat.com
Subject: Re: [Qemu-devel] [PATCH v3 04/10] acpi, mem-hotplug: Add unplug request cb for memory device.
Date: Sun, 1 Mar 2015 18:25:40 +0100 [thread overview]
Message-ID: <20150301172540.GE8233@redhat.com> (raw)
In-Reply-To: <18b8af3c6f5552a337ec922d372a69774a205ff5.1424912878.git.zhugh.fnst@cn.fujitsu.com>
On Thu, Feb 26, 2015 at 09:16:46AM +0800, Zhu Guihua wrote:
> From: Tang Chen <tangchen@cn.fujitsu.com>
>
> Memory hot unplug are both asynchronize procedures.
asynchronous
> When the unplug operation happens, unplug request cb is called first.
> And when ghest
guest
> OS finished handling unplug, unplug cb will be called
> to do the real removal of device.
>
> This patch adds unplug request cb for memory device.
It does not such thing apparently. It just implements
an unused function - I guess it will be used as a callback
by some other patch.
> Add a new bool
> member named is_removing to MemStatus indicating that the memory slot
> is being removed. Set it to true in acpi_memory_unplug_request_cb(),
> and send SCI to guest.
You describe what code does in great detail but not why
it does it.
There's a new field that is ever only set to true and never
read.
I guess this will make sense eventually with follow-up
patches but why not include it all there?
>
> Signed-off-by: Tang Chen <tangchen@cn.fujitsu.com>
> Signed-off-by: Zhu Guihua <zhugh.fnst@cn.fujitsu.com>
> ---
> hw/acpi/memory_hotplug.c | 17 +++++++++++++++++
> include/hw/acpi/memory_hotplug.h | 4 ++++
> 2 files changed, 21 insertions(+)
>
> diff --git a/hw/acpi/memory_hotplug.c b/hw/acpi/memory_hotplug.c
> index 5b13baa..02231d2 100644
> --- a/hw/acpi/memory_hotplug.c
> +++ b/hw/acpi/memory_hotplug.c
> @@ -206,6 +206,23 @@ void acpi_memory_plug_cb(ACPIREGS *ar, qemu_irq irq, MemHotplugState *mem_st,
> acpi_send_gpe_event(ar, irq, ACPI_MEMORY_HOTPLUG_STATUS);
> }
>
> +void acpi_memory_unplug_request_cb(ACPIREGS *ar, qemu_irq irq,
> + MemHotplugState *mem_st,
> + DeviceState *dev, Error **errp)
> +{
> + MemStatus *mdev;
> +
> + mdev = acpi_memory_slot_status(mem_st, dev, errp);
> + if (!mdev) {
> + return;
> + }
> +
> + mdev->is_removing = true;
> +
> + /* Do ACPI magic */
> + acpi_send_gpe_event(ar, irq, ACPI_MEMORY_HOTPLUG_STATUS);
> +}
> +
> static const VMStateDescription vmstate_memhp_sts = {
> .name = "memory hotplug device state",
> .version_id = 1,
> diff --git a/include/hw/acpi/memory_hotplug.h b/include/hw/acpi/memory_hotplug.h
> index 7bbf8a0..c437a85 100644
> --- a/include/hw/acpi/memory_hotplug.h
> +++ b/include/hw/acpi/memory_hotplug.h
> @@ -11,6 +11,7 @@ typedef struct MemStatus {
> DeviceState *dimm;
> bool is_enabled;
> bool is_inserting;
> + bool is_removing;
> uint32_t ost_event;
> uint32_t ost_status;
> } MemStatus;
> @@ -28,6 +29,9 @@ void acpi_memory_hotplug_init(MemoryRegion *as, Object *owner,
>
> void acpi_memory_plug_cb(ACPIREGS *ar, qemu_irq irq, MemHotplugState *mem_st,
> DeviceState *dev, Error **errp);
> +void acpi_memory_unplug_request_cb(ACPIREGS *ar, qemu_irq irq,
> + MemHotplugState *mem_st,
> + DeviceState *dev, Error **errp);
>
> extern const VMStateDescription vmstate_memory_hotplug;
> #define VMSTATE_MEMORY_HOTPLUG(memhp, state) \
> --
> 1.9.3
next prev parent reply other threads:[~2015-03-01 17:25 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-26 1:16 [Qemu-devel] [PATCH v3 00/10] QEMU memory hot unplug support Zhu Guihua
2015-02-26 1:16 ` [Qemu-devel] [PATCH v3 01/10] acpi, mem-hotplug: Use PC_DIMM_SLOT_PROP in acpi_memory_plug_cb() Zhu Guihua
2015-03-01 17:32 ` Michael S. Tsirkin
2015-02-26 1:16 ` [Qemu-devel] [PATCH v3 02/10] acpi, mem-hotplug: Add acpi_memory_slot_status() to get MemStatus Zhu Guihua
2015-03-01 17:31 ` Michael S. Tsirkin
2015-03-03 2:18 ` Zhu Guihua
2015-03-03 13:43 ` Michael S. Tsirkin
2015-03-04 3:03 ` Zhu Guihua
2015-02-26 1:16 ` [Qemu-devel] [PATCH v3 03/10] acpi, mem-hotplug: Add acpi_send_gpe_event() to rise sci for memory hotplug Zhu Guihua
2015-03-01 17:29 ` Michael S. Tsirkin
2015-03-02 9:27 ` Igor Mammedov
2015-03-02 9:58 ` Michael S. Tsirkin
2015-03-04 12:16 ` Michael S. Tsirkin
2015-02-26 1:16 ` [Qemu-devel] [PATCH v3 04/10] acpi, mem-hotplug: Add unplug request cb for memory device Zhu Guihua
2015-03-01 17:25 ` Michael S. Tsirkin [this message]
2015-02-26 1:16 ` [Qemu-devel] [PATCH v3 05/10] ich9, piix4, pc-dimm: Add memory hot unplug request support Zhu Guihua
2015-02-26 1:16 ` [Qemu-devel] [PATCH v3 06/10] acpi, mem-hotplug: Add unplug cb for memory device Zhu Guihua
2015-03-01 17:21 ` Michael S. Tsirkin
2015-02-26 1:16 ` [Qemu-devel] [PATCH v3 07/10] ich9, piix4, pc-dimm: Add memory hot unplug support Zhu Guihua
2015-02-26 1:16 ` [Qemu-devel] [PATCH v3 08/10] qdev: make qdev_get_hotplug_handler() non-static Zhu Guihua
2015-03-01 17:10 ` Michael S. Tsirkin
2015-02-26 1:16 ` [Qemu-devel] [PATCH v3 09/10] ssdt-mem: add MEMORY_SLOT_EJECT_METHOD Zhu Guihua
2015-03-01 17:11 ` Michael S. Tsirkin
2015-02-26 1:16 ` [Qemu-devel] [PATCH v3 10/10] acpi: Add hardware implementation for memory hot unplug Zhu Guihua
2015-03-01 17:16 ` Michael S. Tsirkin
2015-03-01 17:35 ` [Qemu-devel] [PATCH v3 00/10] QEMU memory hot unplug support Michael S. Tsirkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150301172540.GE8233@redhat.com \
--to=mst@redhat.com \
--cc=guz.fnst@cn.fujitsu.com \
--cc=hutao@cn.fujitsu.com \
--cc=imammedo@redhat.com \
--cc=isimatu.yasuaki@jp.fujitsu.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=tangchen@cn.fujitsu.com \
--cc=zhugh.fnst@cn.fujitsu.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.