[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191115140619.GC3873@mellanox.com>
Date: Fri, 15 Nov 2019 14:06:27 +0000
From: Jason Gunthorpe <jgg@...lanox.com>
To: Ralph Campbell <rcampbell@...dia.com>
CC: Christoph Hellwig <hch@....de>,
Andrew Morton <akpm@...ux-foundation.org>,
Jerome Glisse <jglisse@...hat.com>,
John Hubbard <jhubbard@...dia.com>,
Shuah Khan <shuah@...nel.org>,
"linux-rdma@...r.kernel.org" <linux-rdma@...r.kernel.org>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-kselftest@...r.kernel.org" <linux-kselftest@...r.kernel.org>
Subject: Re: [PATCH v4 2/2] mm/hmm/test: add self tests for HMM
On Thu, Nov 14, 2019 at 03:06:05PM -0800, Ralph Campbell wrote:
>
> On 11/13/19 5:51 AM, Christoph Hellwig wrote:
> > On Tue, Nov 12, 2019 at 11:45:52PM +0000, Jason Gunthorpe wrote:
> > > > Well, it would mean registering for the whole process address space.
> > > > I'll give it a try.
> > >
> > > I'm not sure it makes much sense that this testing is essentially
> > > modeled after nouveau's usage which is very strange compared to the
> > > other drivers.
> >
> > Which means we really should make the test cases fit the proper usage.
> > Maybe defer the tests for 5.5 and just merge the first patch for now?
> >
>
> I think this a good point to discuss.
> Some devices will want to register for all changes to the process address
> space because there is no requirement to preregister regions that the
> device can access verses devices like InfiniBand where a range of addresses
> have to be registered before the device can access those addresses.
But this is a very bad idea to register and do HW actions for ranges
that can't possibly have any pages registered. It slows down the
entire application
I think the ODP approach might be saner, when it mirrors the entire
address space it chops it up into VA chunks, and once a page is
registered on the HW the VA chunk goes into the interval tree.
Presumably the GPU also has some kind of page table tree and you could
set one of the levels as the VA interval when there are populated children
Jason
Powered by blists - more mailing lists