From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-lf1-f66.google.com ([209.85.167.66]:35838 "EHLO mail-lf1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389109AbeKTEGT (ORCPT ); Mon, 19 Nov 2018 23:06:19 -0500 MIME-Version: 1.0 References: <20181115154530.GA27872@jordon-HP-15-Notebook-PC> <20181116182836.GB17088@rapoport-lnx> <20181117143742.GB7861@bombadil.infradead.org> <20181119162623.GA13200@rapoport-lnx> In-Reply-To: <20181119162623.GA13200@rapoport-lnx> From: Souptick Joarder Date: Mon, 19 Nov 2018 23:15:15 +0530 Message-ID: Subject: Re: [PATCH 1/9] mm: Introduce new vm_insert_range API To: rppt@linux.ibm.com Cc: Matthew Wilcox , Andrew Morton , Michal Hocko , "Kirill A. Shutemov" , vbabka@suse.cz, Rik van Riel , Stephen Rothwell , rppt@linux.vnet.ibm.com, Peter Zijlstra , Russell King - ARM Linux , robin.murphy@arm.com, iamjoonsoo.kim@lge.com, treding@nvidia.com, Kees Cook , Marek Szyprowski , stefanr@s5r6.in-berlin.de, hjc@rock-chips.com, Heiko Stuebner , airlied@linux.ie, oleksandr_andrushchenko@epam.com, joro@8bytes.org, pawel@osciak.com, Kyungmin Park , mchehab@kernel.org, Boris Ostrovsky , Juergen Gross , linux-kernel@vger.kernel.org, Linux-MM , linux-arm-kernel@lists.infradead.org, linux1394-devel@lists.sourceforge.net, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, xen-devel@lists.xen.org, iommu@lists.linux-foundation.org, linux-media@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-media-owner@vger.kernel.org List-ID: On Mon, Nov 19, 2018 at 9:56 PM Mike Rapoport 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 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 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 */