From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60577) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z6sk7-0008Pf-NT for qemu-devel@nongnu.org; Sun, 21 Jun 2015 23:49:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z6sk3-00005J-OI for qemu-devel@nongnu.org; Sun, 21 Jun 2015 23:49:55 -0400 Date: Mon, 22 Jun 2015 13:45:27 +1000 From: David Gibson Message-ID: <20150622034527.GQ13352@voom.redhat.com> References: <1434627456-13745-1-git-send-email-aik@ozlabs.ru> <1434627456-13745-7-git-send-email-aik@ozlabs.ru> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="waqf3ldl5CnEMrQn" Content-Disposition: inline In-Reply-To: <1434627456-13745-7-git-send-email-aik@ozlabs.ru> Subject: Re: [Qemu-devel] [PATCH qemu v8 06/14] spapr_iommu: Introduce "enabled" state for TCE table List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexey Kardashevskiy Cc: Alex Williamson , qemu-ppc@nongnu.org, qemu-devel@nongnu.org, Gavin Shan , Alexander Graf --waqf3ldl5CnEMrQn Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Jun 18, 2015 at 09:37:28PM +1000, Alexey Kardashevskiy wrote: > Currently TCE tables are created once at start and their size never > changes. We are going to change that by introducing a Dynamic DMA windows > support where DMA configuration may change during the guest execution. >=20 > This changes spapr_tce_new_table() to create an empty stub object. Only > LIOBN is assigned by the time of creation. It still will be called once > at the owner object (VIO or PHB) creation. >=20 > This introduces an "enabled" state for TCE table objects with two > helper functions - spapr_tce_table_enable()/spapr_tce_table_disable(). > spapr_tce_table_enable() receives TCE table parameters and allocates > a guest view of the TCE table (in the user space or KVM). > spapr_tce_table_disable() disposes the table. >=20 > Follow up patches will disable+enable tables on reset (system reset > or DDW reset). >=20 > No visible change in behaviour is expected except the actual table > will be reallocated every reset. We might optimize this later. >=20 > The other way to implement this would be dynamically create/remove > the TCE table QOM objects but this would make migration impossible > as migration expects all QOM objects to exist at the receiver > so we have to have TCE table objects created when migration begins. >=20 > spapr_tce_table_do_enable() is separated from from spapr_tce_table_enable= () > as later it will be called at the sPAPRTCETable post-migration stage when > it has all the properties set after the migration. >=20 > Signed-off-by: Alexey Kardashevskiy > --- > Changes: > v8: > * add missing unparent_object() to spapr_tce_table_unrealize() (parenting > is made by memory_region_init_iommu) Um.. I don't see an unparent_object() in spapr_tce_table_unrealize(). Or anywhere else. I don't actually know where it's necessary, but this seems to contracdict your changelog regardless. --=20 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 --waqf3ldl5CnEMrQn Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBAgAGBQJVh4TXAAoJEGw4ysog2bOSxMoP/3Z67DzpghAlpZ+BDuEebD86 gsc8hMe/BjAkhMDZHwy3sec0fPrHG5JAqUC8BYWeac0St1iR5PVXa9AgIDHXmjMv csWcuCf7XXVCZbjnTaEoSHW5YXw4yq9R29l52jHmLF/z2KvFFvaSJs7fsHEYR3cD 3jbe3YUUw/yCWycHJD/drugJyQRuaGwZGPPEGQO03pxJnwT22ppQhTSkblANJ6sf UCJSNfQ1yfUgtwlCsHjD4h1lvkWA8kiilpquQpW5Rq78Yobw9pKdpVpR1nBO94/r cz4G5d2rgc8RxlYMfYQE5JOZ5wj0yH/kZnazM7kzLEiTsLoDgoPlCEVHcEMVc3CD AK3WnACn4Z6nEd9DtLtTvqzK54P1N5RrQ1hTU0coDPQ8cVqbDBpQcxV2DowTkev3 SyDSLGT2KA0Qm2w+/lpPdJ0DU8YQKuz2gTY91GBtikAsopYIOOCTywcQzkt66GwH S9U8nJooRAnAoPTNrHo09EaqmnISffwv6xh6zHM6lwKfZkIENtZIpPKnMujjGzcz bqHQnh6C9J0fNqQglge3GW453V6iMYHTp3vW9FicMCI6rYKn4fZEBcfH/Tpd5J6f EY1zrFwMox7DCfVhese57WqA7B8TE8iszFqjnFro1RJMOHiw90DpXiGXn1t+EX1q Vb2tIJ+oCEhhDzpsx95O =1eO/ -----END PGP SIGNATURE----- --waqf3ldl5CnEMrQn--