* [Qemu-devel] [PATCH] pc: memhp: do not emit inserting event for coldplugged DIMMs
@ 2015-10-23 12:55 Igor Mammedov
2015-10-27 7:42 ` Igor Mammedov
0 siblings, 1 reply; 3+ messages in thread
From: Igor Mammedov @ 2015-10-23 12:55 UTC (permalink / raw)
To: qemu-devel; +Cc: mst
currently acpi_memory_plug_cb() sets is_inserting for
cold- and hot-plugged DIMMs as result ASL MHPD.MSCN()
method issues device check even for every coldplugged
DIMM. There isn't much harm in it but if we try to
unplug such DIMM, OSPM will issue device check
intstead of device eject event. So OSPM won't eject
memory module as expected and it will try to eject it
only when another memory device is hot-(un)plugged.
As a fix do not set 'is_inserting' event and do not
issue SCI for cold-plugged DIMMs as they are
enumerated and activated by OSPM during guest's boot.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
---
hw/acpi/memory_hotplug.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/hw/acpi/memory_hotplug.c b/hw/acpi/memory_hotplug.c
index 2ff0d5c..ce428df 100644
--- a/hw/acpi/memory_hotplug.c
+++ b/hw/acpi/memory_hotplug.c
@@ -238,10 +238,12 @@ void acpi_memory_plug_cb(ACPIREGS *ar, qemu_irq irq, MemHotplugState *mem_st,
mdev->dimm = dev;
mdev->is_enabled = true;
- mdev->is_inserting = true;
+ if (dev->hotplugged) {
+ mdev->is_inserting = true;
- /* do ACPI magic */
- acpi_send_gpe_event(ar, irq, ACPI_MEMORY_HOTPLUG_STATUS);
+ /* do ACPI magic */
+ acpi_send_gpe_event(ar, irq, ACPI_MEMORY_HOTPLUG_STATUS);
+ }
return;
}
--
1.8.3.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH] pc: memhp: do not emit inserting event for coldplugged DIMMs
2015-10-23 12:55 [Qemu-devel] [PATCH] pc: memhp: do not emit inserting event for coldplugged DIMMs Igor Mammedov
@ 2015-10-27 7:42 ` Igor Mammedov
2015-10-27 9:02 ` Michael S. Tsirkin
0 siblings, 1 reply; 3+ messages in thread
From: Igor Mammedov @ 2015-10-27 7:42 UTC (permalink / raw)
To: qemu-devel; +Cc: mst
On Fri, 23 Oct 2015 14:55:26 +0200
Igor Mammedov <imammedo@redhat.com> wrote:
> currently acpi_memory_plug_cb() sets is_inserting for
> cold- and hot-plugged DIMMs as result ASL MHPD.MSCN()
> method issues device check even for every coldplugged
> DIMM. There isn't much harm in it but if we try to
> unplug such DIMM, OSPM will issue device check
> intstead of device eject event. So OSPM won't eject
> memory module as expected and it will try to eject it
> only when another memory device is hot-(un)plugged.
>
> As a fix do not set 'is_inserting' event and do not
> issue SCI for cold-plugged DIMMs as they are
> enumerated and activated by OSPM during guest's boot.
>
> Signed-off-by: Igor Mammedov <imammedo@redhat.com>
ping
> ---
> hw/acpi/memory_hotplug.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/hw/acpi/memory_hotplug.c b/hw/acpi/memory_hotplug.c
> index 2ff0d5c..ce428df 100644
> --- a/hw/acpi/memory_hotplug.c
> +++ b/hw/acpi/memory_hotplug.c
> @@ -238,10 +238,12 @@ void acpi_memory_plug_cb(ACPIREGS *ar, qemu_irq irq, MemHotplugState *mem_st,
>
> mdev->dimm = dev;
> mdev->is_enabled = true;
> - mdev->is_inserting = true;
> + if (dev->hotplugged) {
> + mdev->is_inserting = true;
>
> - /* do ACPI magic */
> - acpi_send_gpe_event(ar, irq, ACPI_MEMORY_HOTPLUG_STATUS);
> + /* do ACPI magic */
> + acpi_send_gpe_event(ar, irq, ACPI_MEMORY_HOTPLUG_STATUS);
> + }
> return;
> }
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH] pc: memhp: do not emit inserting event for coldplugged DIMMs
2015-10-27 7:42 ` Igor Mammedov
@ 2015-10-27 9:02 ` Michael S. Tsirkin
0 siblings, 0 replies; 3+ messages in thread
From: Michael S. Tsirkin @ 2015-10-27 9:02 UTC (permalink / raw)
To: Igor Mammedov; +Cc: qemu-devel
On Tue, Oct 27, 2015 at 08:42:31AM +0100, Igor Mammedov wrote:
> On Fri, 23 Oct 2015 14:55:26 +0200
> Igor Mammedov <imammedo@redhat.com> wrote:
>
> > currently acpi_memory_plug_cb() sets is_inserting for
> > cold- and hot-plugged DIMMs as result ASL MHPD.MSCN()
> > method issues device check even for every coldplugged
> > DIMM. There isn't much harm in it but if we try to
> > unplug such DIMM, OSPM will issue device check
> > intstead of device eject event. So OSPM won't eject
> > memory module as expected and it will try to eject it
> > only when another memory device is hot-(un)plugged.
> >
> > As a fix do not set 'is_inserting' event and do not
> > issue SCI for cold-plugged DIMMs as they are
> > enumerated and activated by OSPM during guest's boot.
> >
> > Signed-off-by: Igor Mammedov <imammedo@redhat.com>
> ping
It's only been 4 days, 2 out of these a weekend.
Sit tight please, give people time to review.
> > ---
> > hw/acpi/memory_hotplug.c | 8 +++++---
> > 1 file changed, 5 insertions(+), 3 deletions(-)
> >
> > diff --git a/hw/acpi/memory_hotplug.c b/hw/acpi/memory_hotplug.c
> > index 2ff0d5c..ce428df 100644
> > --- a/hw/acpi/memory_hotplug.c
> > +++ b/hw/acpi/memory_hotplug.c
> > @@ -238,10 +238,12 @@ void acpi_memory_plug_cb(ACPIREGS *ar, qemu_irq irq, MemHotplugState *mem_st,
> >
> > mdev->dimm = dev;
> > mdev->is_enabled = true;
> > - mdev->is_inserting = true;
> > + if (dev->hotplugged) {
> > + mdev->is_inserting = true;
> >
> > - /* do ACPI magic */
> > - acpi_send_gpe_event(ar, irq, ACPI_MEMORY_HOTPLUG_STATUS);
> > + /* do ACPI magic */
> > + acpi_send_gpe_event(ar, irq, ACPI_MEMORY_HOTPLUG_STATUS);
> > + }
> > return;
> > }
> >
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-10-27 9:02 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-23 12:55 [Qemu-devel] [PATCH] pc: memhp: do not emit inserting event for coldplugged DIMMs Igor Mammedov
2015-10-27 7:42 ` Igor Mammedov
2015-10-27 9:02 ` Michael S. Tsirkin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).