Messages in this thread | | | From | Alistair Popple <> | Subject | Re: [PATCH v3 6/8] mm: Selftests for exclusive device memory | Date | Tue, 2 Mar 2021 20:12:24 +1100 |
| |
On Tuesday, 2 March 2021 10:14:56 AM AEDT Ralph Campbell wrote: > > From: Alistair Popple <apopple@nvidia.com> > > Sent: Thursday, February 25, 2021 11:19 PM > > To: linux-mm@kvack.org; nouveau@lists.freedesktop.org; > > bskeggs@redhat.com; akpm@linux-foundation.org > > Cc: linux-doc@vger.kernel.org; linux-kernel@vger.kernel.org; dri- > > devel@lists.freedesktop.org; John Hubbard <jhubbard@nvidia.com>; Ralph > > Campbell <rcampbell@nvidia.com>; jglisse@redhat.com; Jason Gunthorpe > > <jgg@nvidia.com>; hch@infradead.org; daniel@ffwll.ch; Alistair Popple > > <apopple@nvidia.com> > > Subject: [PATCH v3 6/8] mm: Selftests for exclusive device memory > > > > Adds some selftests for exclusive device memory. > > > > Signed-off-by: Alistair Popple <apopple@nvidia.com> > > One minor nit below, but you can add
Thanks Ralph. Will fix that.
> Tested-by: Ralph Campbell <rcampbell@nvidia.com> > Reviewed-by: Ralph Campbell <rcampbell@nvidia.com> > > > +static int dmirror_exclusive(struct dmirror *dmirror, > > + struct hmm_dmirror_cmd *cmd) > > +{ > > + unsigned long start, end, addr; > > + unsigned long size = cmd->npages << PAGE_SHIFT; > > + struct mm_struct *mm = dmirror->notifier.mm; > > + struct page *pages[64]; > > + struct dmirror_bounce bounce; > > + unsigned long next; > > + int ret; > > + > > + start = cmd->addr; > > + end = start + size; > > + if (end < start) > > + return -EINVAL; > > + > > + /* Since the mm is for the mirrored process, get a reference first. */ > > + if (!mmget_not_zero(mm)) > > + return -EINVAL; > > + > > + mmap_read_lock(mm); > > + for (addr = start; addr < end; addr = next) { > > + int i, mapped; > > + > > + if (end < addr + (64 << PAGE_SHIFT)) > > + next = end; > > + else > > + next = addr + (64 << PAGE_SHIFT); > > I suggest using ARRAY_SIZE(pages) instead of '64' to make the meaning clear. > >
| |