From: David Gibson <david@gibson.dropbear.id.au>
To: Greg Kurz <groug@kaod.org>
Cc: "Cédric Le Goater" <clg@kaod.org>,
qemu-devel@nongnu.org, qemu-ppc@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v3 3/5] xics: setup cpu at realize time
Date: Thu, 8 Jun 2017 11:53:29 +1000 [thread overview]
Message-ID: <20170608015329.GS13397@umbus.fritz.box> (raw)
In-Reply-To: <20170607225507.5d2c6c33@bahia.ttt.fr.ibm.com>
[-- Attachment #1: Type: text/plain, Size: 1870 bytes --]
On Wed, Jun 07, 2017 at 10:55:07PM +0200, Greg Kurz wrote:
> On Wed, 7 Jun 2017 20:11:38 +0200
> Cédric Le Goater <clg@kaod.org> wrote:
>
> > On 06/07/2017 07:17 PM, Greg Kurz wrote:
> > > Until recently, spapr used to allocate ICPState objects for the lifetime
> > > of the machine. They would only be associated to vCPUs in xics_cpu_setup()
> > > when plugging a CPU core.
> > >
> > > Now that ICPState objects have the same lifecycle as vCPUs, it is
> > > possible to associate them during realization.
> > >
> > > This patch hence open-codes xics_cpu_setup() in icp_realize(). The vCPU
> > > is passed as a property. Note that vCPU now needs to be realized first
> > > for the IRQs to be allocated. It also needs to resetted before ICPState
> > > realization in order to synchronize with KVM.
> > >
> > > Since ICPState objects are freed when unrealized, xics_cpu_destroy() isn't
> > > needed anymore and can be safely dropped.
> >
> > I like the idea but I think the assignment of ->cs attribute should be
> > moved under icp_kvm_cpu_setup(), as it is only used under xics_kvm by
> > the kvm_vcpu_ioctl() calls.
> >
>
> Well, cs->cpu_index is also used for traces and to implement the 'info pic'
> monitor command.
Right. I think it makes sense for the ICP to have a handle on it's
associated CPU, even if we don't actually use it in all cases right
now. So I have no problem with the property being in all ICPs; I
think that will be cleaner than special casing xics_kvm. Especially
if we have to un-special-case it sometime in future because we need
to access the CPU object for some reason we haven't thought of yet.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2017-06-08 2:01 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-07 17:16 [Qemu-devel] [PATCH v3 0/5] spapr/xics: fix migration of older machine types Greg Kurz
2017-06-07 17:16 ` [Qemu-devel] [PATCH v3 1/5] pnv_core: drop reference on ICPState object during CPU realization Greg Kurz
2017-06-07 17:49 ` Cédric Le Goater
2017-06-08 1:41 ` David Gibson
2017-06-07 17:17 ` [Qemu-devel] [PATCH v3 2/5] xics: add reset() handler to ICPStateClass Greg Kurz
2017-06-07 17:47 ` Cédric Le Goater
2017-06-08 1:44 ` David Gibson
2017-06-07 17:17 ` [Qemu-devel] [PATCH v3 3/5] xics: setup cpu at realize time Greg Kurz
2017-06-07 18:11 ` Cédric Le Goater
2017-06-07 20:55 ` Greg Kurz
2017-06-08 1:53 ` David Gibson [this message]
2017-06-08 9:14 ` Greg Kurz
2017-06-08 9:25 ` Cédric Le Goater
2017-06-08 9:59 ` Greg Kurz
2017-06-08 5:50 ` Cédric Le Goater
2017-06-08 8:54 ` Greg Kurz
2017-06-08 2:01 ` David Gibson
2017-06-08 8:45 ` Greg Kurz
2017-06-08 9:32 ` Cédric Le Goater
2017-06-09 2:24 ` David Gibson
2017-06-09 6:45 ` Greg Kurz
2017-06-09 9:43 ` David Gibson
2017-06-07 17:17 ` [Qemu-devel] [PATCH v3 4/5] xics: directly register ICPState objects to vmstate Greg Kurz
2017-06-07 18:14 ` Cédric Le Goater
2017-06-07 20:56 ` Greg Kurz
2017-06-08 3:59 ` David Gibson
2017-06-08 9:08 ` Greg Kurz
2017-06-07 17:17 ` [Qemu-devel] [PATCH v3 5/5] spapr: fix migration of ICPState objects from/to older QEMU Greg Kurz
2017-06-08 4:08 ` David Gibson
2017-06-08 9:54 ` Greg Kurz
2017-06-12 14:24 ` David Gibson
2017-06-13 7:33 ` Greg Kurz
2017-06-13 8:06 ` David Gibson
2017-06-13 8:40 ` Greg Kurz
2017-06-13 9:00 ` Dr. David Alan Gilbert
2017-06-13 9:21 ` Greg Kurz
2017-06-13 9:55 ` Dr. David Alan Gilbert
2017-06-13 10:05 ` Greg Kurz
2017-06-13 10:12 ` Dr. David Alan Gilbert
2017-06-13 10:35 ` Greg Kurz
2017-06-13 14:55 ` David Gibson
2017-06-13 10:01 ` David Gibson
2017-06-13 15:24 ` Greg Kurz
2017-06-14 1:40 ` David Gibson
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=20170608015329.GS13397@umbus.fritz.box \
--to=david@gibson.dropbear.id.au \
--cc=clg@kaod.org \
--cc=groug@kaod.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
/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).