qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Igor Mammedov <imammedo@redhat.com>
To: Wei Yang <richard.weiyang@gmail.com>
Cc: Wei Yang <richardw.yang@linux.intel.com>,
	xiaoguangrong.eric@gmail.com, philmd@redhat.com,
	qemu-devel@nongnu.org, mst@redhat.com
Subject: Re: [Qemu-devel] [PATCH v2 0/3] PCDIMM cleanup
Date: Wed, 27 Feb 2019 18:27:49 +0100	[thread overview]
Message-ID: <20190227182749.2fbbca15@redhat.com> (raw)
In-Reply-To: <20190227135920.ly6pzlbx5a4vubak@master>

On Wed, 27 Feb 2019 13:59:20 +0000
Wei Yang <richard.weiyang@gmail.com> wrote:

> On Wed, Feb 27, 2019 at 02:12:42PM +0100, Igor Mammedov wrote:
> >On Mon, 25 Feb 2019 12:47:14 +0000
> >Wei Yang <richard.weiyang@gmail.com> wrote:
> >  
> >> On Mon, Feb 25, 2019 at 09:05:37AM +0100, Igor Mammedov wrote:  
> >> >On Sat, 23 Feb 2019 00:02:49 +0000
> >> >Wei Yang <richard.weiyang@gmail.com> wrote:
> >> >    
> >> >> On Thu, Feb 21, 2019 at 03:50:04PM +0100, Igor Mammedov wrote:    
> >> >> >On Wed, 20 Feb 2019 08:51:21 +0800
> >> >> >Wei Yang <richardw.yang@linux.intel.com> wrote:
> >> >> >    
> >> >> >> Three trivial cleanup for pc-dimm.
> >> >> >> 
> >> >> >> Patch [1] remove the check on class->hotpluggable since pc-dimm is always
> >> >> >> hotpluggable.
> >> >> >> Patch [2] remove nvdimm_realize
> >> >> >> Patch [2] remove pcdimm realize-callback    
> >> >> >even though this series doesn't break anything, I disagree with it
> >> >> >conceptually as it makes device less abstracted and make it more
> >> >> >dependent on how existing machine code uses it.
> >> >> >I'd drop whole series.
> >> >> >    
> >> >> 
> >> >> Is Patch [1] also make device more dependent on existing implementation?    
> >> >yes, it's implementation detail that PCDIMM&Co are hotpluggable now.
> >> >    
> >> >> For example, when we look at the counterpart of acpi_memory_plug_cb():
> >> >> 
> >> >>     acpi_pcihp_device_plug_cb
> >> >> 
> >> >> which handle the pci device hotplug. We don't check the hotpluggable
> >> >> property for pci devices.
> >> >> 
> >> >> To me, this is a general rule for PCDIMM, they are hotpluggable.    
> >> >yes, PCDIMMs are hotpluggable but apci device (piix4pm/ich9/...) handling hotplug
> >> >should ignore any non-hotpluggable one. If you remove check and then later
> >> >someone else would add non-hotpluggable memory device or make PC-DIMMs or its
> >> >variant of non-hotpluggable one, acpi device handling will break.
> >> >Hence I'd prefer to keep the check.  
> >> >     
> >> 
> >> Ok, if we'd support un-hotpluggable mem device, we could retain this
> >> check. But this maybe not a proper place.
> >> 
> >> Based on my understanding, at this point, every thing has been done
> >> properly. If this check pass, we will send an acpi interrupt to notify
> >> the guest. In case this is an un-hotpluggable device, every thing looks
> >> good but no effect in guest. Because we skip the notification.
> >> 
> >> Maybe we need to move the check in pre-plug?  
> >And what would happen then and afterwards?
> >
> >Point is to make one of the handlers in chain to ignore plug event
> >(i.e. do not generate SCI event) while the rest of handlers complete
> >successfully mapping device in address space and whatever else.
> >  
> 
> This will have a well prepared device in system but guest is not
> notified, right?
yes, it's theoretically possible to move check up the call stack
to machine level and not call secondary hotplug handler on non hotplugged
device but that again depends on what secondary hotplug handler does.
I'd rather keep logic independent here unless there is good reason not
to do so.


> My idea to move the check in pre-plug will result the qemu return when
> it see no SCI event will be generated, so there is no device created.
> 
> I guess current behavior is a designed decision?
I'd say so.
PS:
QEMU's hotplug_hadler API is misnamed at this point as it handles both
cold (basic device wiring) and hotplug (processing hotplug).
Maybe we should rename it but I'm not irritated enough by it to do so.

> >> >> For Patch[2][3], I agree with you.
> >> >>     
> >>   
> 

  reply	other threads:[~2019-02-27 17:28 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-20  0:51 [Qemu-devel] [PATCH v2 0/3] PCDIMM cleanup Wei Yang
2019-02-20  0:51 ` [Qemu-devel] [PATCH v2 1/3] pc-dimm: remove check on pc-dimm hotpluggable Wei Yang
2019-02-20  1:13   ` Philippe Mathieu-Daudé
2019-02-20  0:51 ` [Qemu-devel] [PATCH v2 2/3] mem/nvdimm: remove nvdimm_realize Wei Yang
2019-02-20  1:21   ` Philippe Mathieu-Daudé
2019-02-20  0:51 ` [Qemu-devel] [PATCH v2 3/3] pc-dimm: revert "introduce realize callback" Wei Yang
2019-02-20  1:26   ` Philippe Mathieu-Daudé
2019-02-20  1:39     ` Wei Yang
2019-02-21  6:03 ` [Qemu-devel] [PATCH v2 0/3] PCDIMM cleanup Xiao Guangrong
2019-02-21  6:13   ` Wei Yang
2019-02-21 14:50 ` Igor Mammedov
2019-02-23  0:02   ` Wei Yang
2019-02-25  8:05     ` Igor Mammedov
2019-02-25 12:47       ` Wei Yang
2019-02-27 13:12         ` Igor Mammedov
2019-02-27 13:59           ` Wei Yang
2019-02-27 17:27             ` Igor Mammedov [this message]
2019-02-27 21:25               ` Wei Yang
2019-02-28  0:46               ` Wei Yang
2019-02-28 13:57                 ` Igor Mammedov
2019-03-01  1:23                   ` Wei Yang
2019-02-21 16:58 ` 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=20190227182749.2fbbca15@redhat.com \
    --to=imammedo@redhat.com \
    --cc=mst@redhat.com \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.weiyang@gmail.com \
    --cc=richardw.yang@linux.intel.com \
    --cc=xiaoguangrong.eric@gmail.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 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).