From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Date: Mon, 16 Mar 2020 18:20:39 +0000 Subject: Re: [PATCH 1/2] mm: handle multiple owners of device private pages in migrate_vma Message-Id: <20200316182039.GA24736@lst.de> List-Id: References: <20200316175259.908713-1-hch@lst.de> <20200316175259.908713-2-hch@lst.de> <20200316181707.GJ20941@ziepe.ca> In-Reply-To: <20200316181707.GJ20941@ziepe.ca> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Jason Gunthorpe Cc: Christoph Hellwig , Dan Williams , Bharata B Rao , Christian =?iso-8859-1?Q?K=F6nig?= , Ben Skeggs , Jerome Glisse , kvm-ppc@vger.kernel.org, amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, nouveau@lists.freedesktop.org, linux-mm@kvack.org On Mon, Mar 16, 2020 at 03:17:07PM -0300, Jason Gunthorpe wrote: > On Mon, Mar 16, 2020 at 06:52:58PM +0100, Christoph Hellwig wrote: > > Add a new opaque owner field to struct dev_pagemap, which will allow > > the hmm and migrate_vma code to identify who owns ZONE_DEVICE memory, > > and refuse to work on mappings not owned by the calling entity. > > Using a pointer seems like a good solution to me. > > Is this a bug fix? What is the downside for migrate on pages it > doesn't work? I'm not up to speed on migrate.. migrating private pages not owned by driver simply won't work, as the device can't access it. Even inside the same driver say GPU A can't just migrate CPU B's memory. In that sense it is a bug fix for the rather unlikely case of using the experimental nouveau with multiple GPUs, or in a power secure VM (if that is even possible).