From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bharata B Rao Date: Mon, 27 Jul 2020 03:49:28 +0000 Subject: Re: [PATCH] KVM: PPC: Book3S HV: rework secure mem slot dropping Message-Id: <20200727034905.GF1082478@in.ibm.com> List-Id: References: <20200724030337.GC1082478@in.ibm.com> <20200724083527.28027-1-ldufour@linux.ibm.com> In-Reply-To: <20200724083527.28027-1-ldufour@linux.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Laurent Dufour Cc: aneesh.kumar@linux.ibm.com, linuxram@us.ibm.com, cclaudio@linux.ibm.com, kvm-ppc@vger.kernel.org, sathnaga@linux.vnet.ibm.com, sukadev@linux.ibm.com, linuxppc-dev@lists.ozlabs.org, bauerman@linux.ibm.com, david@gibson.dropbear.id.au On Fri, Jul 24, 2020 at 10:35:27AM +0200, Laurent Dufour wrote: > When a secure memslot is dropped, all the pages backed in the secure > device (aka really backed by secure memory by the Ultravisor) > should be paged out to a normal page. Previously, this was > achieved by triggering the page fault mechanism which is calling > kvmppc_svm_page_out() on each pages. > > This can't work when hot unplugging a memory slot because the memory > slot is flagged as invalid and gfn_to_pfn() is then not trying to access > the page, so the page fault mechanism is not triggered. > > Since the final goal is to make a call to kvmppc_svm_page_out() it seems > simpler to call directly instead of triggering such a mechanism. This > way kvmppc_uvmem_drop_pages() can be called even when hot unplugging a > memslot. > > Since kvmppc_uvmem_drop_pages() is already holding kvm->arch.uvmem_lock, > the call to __kvmppc_svm_page_out() is made. As > __kvmppc_svm_page_out needs the vma pointer to migrate the pages, > the VMA is fetched in a lazy way, to not trigger find_vma() all > the time. In addition, the mmap_sem is held in read mode during > that time, not in write mode since the virual memory layout is not > impacted, and kvm->arch.uvmem_lock prevents concurrent operation > on the secure device. > > Cc: Ram Pai > Cc: Bharata B Rao > Cc: Paul Mackerras > Signed-off-by: Ram Pai > [modified the changelog description] > Signed-off-by: Laurent Dufour > [modified check on the VMA in kvmppc_uvmem_drop_pages] Reviewed-by: Bharata B Rao Regards, Bharata.