From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_PASS,URIBL_BLOCKED,USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 028FBC43441 for ; Fri, 23 Nov 2018 07:19:49 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id A799F20861 for ; Fri, 23 Nov 2018 07:19:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A799F20861 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.ibm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390408AbeKWSCo (ORCPT ); Fri, 23 Nov 2018 13:02:44 -0500 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:33050 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2387592AbeKWSCo (ORCPT ); Fri, 23 Nov 2018 13:02:44 -0500 Received: from pps.filterd (m0098414.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id wAN7JHLn051872 for ; Fri, 23 Nov 2018 02:19:44 -0500 Received: from e06smtp04.uk.ibm.com (e06smtp04.uk.ibm.com [195.75.94.100]) by mx0b-001b2d01.pphosted.com with ESMTP id 2nxa6r6kx4-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 23 Nov 2018 02:19:44 -0500 Received: from localhost by e06smtp04.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 23 Nov 2018 07:19:41 -0000 Received: from b06cxnps4076.portsmouth.uk.ibm.com (9.149.109.198) by e06smtp04.uk.ibm.com (192.168.101.134) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Fri, 23 Nov 2018 07:19:31 -0000 Received: from d06av26.portsmouth.uk.ibm.com (d06av26.portsmouth.uk.ibm.com [9.149.105.62]) by b06cxnps4076.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id wAN7JUHG8978794 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 23 Nov 2018 07:19:30 GMT Received: from d06av26.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 4F375AE051; Fri, 23 Nov 2018 07:19:30 +0000 (GMT) Received: from d06av26.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 45CE6AE04D; Fri, 23 Nov 2018 07:19:27 +0000 (GMT) Received: from rapoport-lnx (unknown [9.148.207.68]) by d06av26.portsmouth.uk.ibm.com (Postfix) with ESMTPS; Fri, 23 Nov 2018 07:19:27 +0000 (GMT) Date: Fri, 23 Nov 2018 09:19:25 +0200 From: Mike Rapoport To: Souptick Joarder 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 Subject: Re: [PATCH 1/9] mm: Introduce new vm_insert_range API References: <20181115154530.GA27872@jordon-HP-15-Notebook-PC> <20181116182836.GB17088@rapoport-lnx> <20181117143742.GB7861@bombadil.infradead.org> <20181119162623.GA13200@rapoport-lnx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-TM-AS-GCONF: 00 x-cbid: 18112307-0016-0000-0000-0000022B7734 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18112307-0017-0000-0000-00003283C035 Message-Id: <20181123071924.GF5704@rapoport-lnx> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-11-23_06:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1811230058 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Nov 19, 2018 at 11:15:15PM +0530, Souptick Joarder wrote: > 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 > */ Looks good to me. -- Sincerely yours, Mike. From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mike Rapoport Subject: Re: [PATCH 1/9] mm: Introduce new vm_insert_range API Date: Fri, 23 Nov 2018 09:19:25 +0200 Message-ID: <20181123071924.GF5704@rapoport-lnx> References: <20181115154530.GA27872@jordon-HP-15-Notebook-PC> <20181116182836.GB17088@rapoport-lnx> <20181117143742.GB7861@bombadil.infradead.org> <20181119162623.GA13200@rapoport-lnx> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: Souptick Joarder Cc: Michal Hocko , Heiko Stuebner , Peter Zijlstra , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Linux-MM , linux1394-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org, Stephen Rothwell , oleksandr_andrushchenko-uRwfk40T5oI@public.gmane.org, Russell King - ARM Linux , Matthew Wilcox , airlied-cv59FeDIM0c@public.gmane.org, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org, linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Kees Cook , pawel-FA/gS7QP4orQT0dZR+AlfA@public.gmane.org, Rik van Riel , iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, rppt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org, Boris Ostrovsky , mchehab-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, iamjoonsoo.kim-Hm3cg6mZ9cc@public.gmane.org, vbabka-AlSwsSmVLrQ@public.gmane.org, Juergen Gross , hjc-TNX95d0MmH7DzftRWevZcw@public.gmane.org, xen-devel-GuqFBffKawuEi8DpZVb4nw@public.gmane.org, Kyungmin List-Id: linux-rockchip.vger.kernel.org On Mon, Nov 19, 2018 at 11:15:15PM +0530, Souptick Joarder wrote: > 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 > */ Looks good to me. -- Sincerely yours, Mike. From mboxrd@z Thu Jan 1 00:00:00 1970 From: rppt@linux.ibm.com (Mike Rapoport) Date: Fri, 23 Nov 2018 09:19:25 +0200 Subject: [PATCH 1/9] mm: Introduce new vm_insert_range API In-Reply-To: References: <20181115154530.GA27872@jordon-HP-15-Notebook-PC> <20181116182836.GB17088@rapoport-lnx> <20181117143742.GB7861@bombadil.infradead.org> <20181119162623.GA13200@rapoport-lnx> Message-ID: <20181123071924.GF5704@rapoport-lnx> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Mon, Nov 19, 2018 at 11:15:15PM +0530, Souptick Joarder wrote: > 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 > */ Looks good to me. -- Sincerely yours, Mike.