qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] pc: memhp: do not emit inserting event for cold


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [PATCH] pc: memhp: do not emit inserting event for coldplugged DIMMs
Date: Tue, 27 Oct 2015 11:02:16 +0200

On Tue, Oct 27, 2015 at 08:42:31AM +0100, Igor Mammedov wrote:
> On Fri, 23 Oct 2015 14:55:26 +0200
> Igor Mammedov <address@hidden> 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 <address@hidden>
> 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;
> >  }
> >  



reply via email to

[Prev in Thread] Current Thread [Next in Thread]