From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52232) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zei9i-0000OR-CT for qemu-devel@nongnu.org; Wed, 23 Sep 2015 07:24:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zei9e-0005l2-EO for qemu-devel@nongnu.org; Wed, 23 Sep 2015 07:24:10 -0400 References: <1442495357-26547-1-git-send-email-david@gibson.dropbear.id.au> <1442495357-26547-10-git-send-email-david@gibson.dropbear.id.au> <1442508890.23936.210.camel@redhat.com> From: Thomas Huth Message-ID: <56028BD0.80504@redhat.com> Date: Wed, 23 Sep 2015 13:24:00 +0200 MIME-Version: 1.0 In-Reply-To: <1442508890.23936.210.camel@redhat.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC PATCH 09/10] spapr_iommu: Provide a function to switch a TCE table to allowing VFIO List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alex Williamson , David Gibson Cc: lvivier@redhat.com, aik@ozlabs.ru, gwshan@linux.vnet.ibm.com, qemu-devel@nongnu.org, qemu-ppc@nongnu.org, pbonzini@redhat.com On 17/09/15 18:54, Alex Williamson wrote: > On Thu, 2015-09-17 at 23:09 +1000, David Gibson wrote: >> Because of the way non-VFIO guest IOMMU operations are KVM accelerated, not >> all TCE tables (guest IOMMU contexts) can support VFIO devices. Currently, >> this is decided at creation time. >> >> To support hotplug of VFIO devices, we need to allow a TCE table which >> previously didn't allow VFIO devices to be switched so that it can. This >> patch adds an spapr_tce_need_vfio() function to do this, by reallocating >> the table in userspace if necessary. >> >> Currently this doesn't allow the KVM acceleration to be re-enabled if all >> the VFIO devices are removed. That's an optimization for another time. > > > Same comment as previous patch, spapr_tce_need_userspace_table() (or > something) makes the code much more self documenting. May I also add the using the word "need" in a function name is could be a little bit confusing here? It's maybe just me, but if I read ..._need_...() I first think of a function that just checks something and returns a boolean for yes or no, not of a function that changes something. Could you maybe use something like "..._change_to_..." instead? Thomas