Re: [PATCH 1/9] mm: Introduce new vm_insert_range API

From: Mike Rapoport
Date: Fri Nov 23 2018 - 02:19:52 EST


On Mon, Nov 19, 2018 at 11:15:15PM +0530, Souptick Joarder wrote:
> On Mon, Nov 19, 2018 at 9:56 PM Mike Rapoport <rppt@xxxxxxxxxxxxx> wrote:
> >
> > On Mon, Nov 19, 2018 at 08:43:09PM +0530, Souptick Joarder wrote:
> > > Hi Mike,
> > >
> > > On Sat, Nov 17, 2018 at 8:07 PM Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote:
> > > >
> > > > On Sat, Nov 17, 2018 at 12:26:38PM +0530, Souptick Joarder wrote:
> > > > > On Fri, Nov 16, 2018 at 11:59 PM Mike Rapoport <rppt@xxxxxxxxxxxxx> wrote:
> > > > > > > + * vm_insert_range - insert range of kernel pages into user vma
> > > > > > > + * @vma: user vma to map to
> > > > > > > + * @addr: target user address of this page
> > > > > > > + * @pages: pointer to array of source kernel pages
> > > > > > > + * @page_count: no. of pages need to insert into user vma
> > > > > > > + *
> > > > > > > + * This allows drivers to insert range of kernel pages they've allocated
> > > > > > > + * into a user vma. This is a generic function which drivers can use
> > > > > > > + * rather than using their own way of mapping range of kernel pages into
> > > > > > > + * user vma.
> > > > > >
> > > > > > Please add the return value and context descriptions.
> > > > > >
> > > > >
> > > > > Sure I will wait for some time to get additional review comments and
> > > > > add all of those requested changes in v2.
> > > >
> > > > You could send your proposed wording now which might remove the need
> > > > for a v3 if we end up arguing about the wording.
> > >
> > > Does this description looks good ?
> > >
> > > /**
> > > * vm_insert_range - insert range of kernel pages into user vma
> > > * @vma: user vma to map to
> > > * @addr: target user address of this page
> > > * @pages: pointer to array of source kernel pages
> > > * @page_count: number of pages need to insert into user vma
> > > *
> > > * This allows drivers to insert range of kernel pages they've allocated
> > > * into a user vma. This is a generic function which drivers can use
> > > * rather than using their own way of mapping range of kernel pages into
> > > * user vma.
> > > *
> > > * Context - Process context. Called by mmap handlers.
> >
> > Context:
> >
> > > * Return - int error value
> >
> > Return:
> >
> > > * 0 - OK
> > > * -EINVAL - Invalid argument
> > > * -ENOMEM - No memory
> > > * -EFAULT - Bad address
> > > * -EBUSY - Device or resource busy
> >
> > I don't think that elaborate description of error values is needed, just "0
> > on success and error code otherwise" would be sufficient.
>
> /**
> * vm_insert_range - insert range of kernel pages into user vma
> * @vma: user vma to map to
> * @addr: target user address of this page
> * @pages: pointer to array of source kernel pages
> * @page_count: number of pages need to insert into user vma
> *
> * This allows drivers to insert range of kernel pages they've allocated
> * into a user vma. This is a generic function which drivers can use
> * rather than using their own way of mapping range of kernel pages into
> * user vma.
> *
> * Context: Process context. Called by mmap handlers.
> * Return: 0 on success and error code otherwise
> */

Looks good to me.

--
Sincerely yours,
Mike.