Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp3039995imu; Mon, 19 Nov 2018 09:43:29 -0800 (PST) X-Google-Smtp-Source: AJdET5daqM7ETdGqadxKIPJ471FMickSblSWC9U6MxUayVXHS4kTOtC0am2I96dGUEoThIZqWtcH X-Received: by 2002:a17:902:6bc1:: with SMTP id m1-v6mr23717296plt.34.1542649409506; Mon, 19 Nov 2018 09:43:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542649409; cv=none; d=google.com; s=arc-20160816; b=IO7LHeRTO21/ZlDs+JuwwwuGFyE73OJnWs+Mpv47imQuGmSALoWe8bzmmezbJEElSw 8mJ3SjR37uhGNT2KZK+sD7R4J9qx1mT4u4Co9fkNloySlKFaT7WcVsNsS/fAeNKf6Q7l AFoVJOgxPiPeP/VMlzYfT9dwNkpRVXRfVn8mPS2G1vofhua5GT6ACROoXwzxcM+GqpJ4 9nxK7ErOQk4eE+CvyHU4IVI+PvGG+APjQ7nH522krcCjEZgf9do6uBJwKALx9SRN/+cW TE5mOJxaC5wipZhf6JMIbqWR8+d/uFwO44/eTUIrKfwF7a5eOziKWFofs+v0b2LlyHDe Epcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=rFIGnhbbxJlKc/xgO0vXKwYw+G/JysDisiDFhdxpmu8=; b=iHb1J7bGlcoHPVo9udCxJIwwkuh9t4nOMbPYbyBwFBJFbW3/5x3NKXqATHdm4gg9nw 7JTNqWO+c5ct1JHuG+P4lZ/w1H/kE5P3MGm3SZuOlAs32VTWZrBPOOJsUQItwpvzcD42 WzQZ9Fg5DmTfGLg6nAxqgjHsg1FoZrAuAWJOwHPunrc2vOYmWmypVjEM2qykFHzf6K6H XvXpbHAUKzK2w790qyM0+ytOHWwoTlHsApHLQjFb41c67V+7ChZPnE7W6JpMx/3QFP4+ dUeKfqdeqp8ZRjvywHYnrZ7kXuLCw8xrMgMeKEh7rPQGW5kjwQjYq+dEsA4Pdm75IHDs Sm0Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Q9AflzgV; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e2si38228913pgs.94.2018.11.19.09.43.14; Mon, 19 Nov 2018 09:43:29 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Q9AflzgV; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389825AbeKTEGU (ORCPT + 99 others); Mon, 19 Nov 2018 23:06:20 -0500 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 Received: by mail-lf1-f66.google.com with SMTP id e26so20147718lfc.2; Mon, 19 Nov 2018 09:41:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=rFIGnhbbxJlKc/xgO0vXKwYw+G/JysDisiDFhdxpmu8=; b=Q9AflzgVy3pshc/bFJP5B7VEvO4Ssj24P1ua3FSAV2Sjn6WmXucsWjCAxTr4+uQNKh +zwpskzEjsY6EN1fCPqeeLuglqKflA669vngPOvrbOeciIvpjUUfNW/I1nFp8LJMxgbM YH9BMehBcXQCb3N7Eb+BxdgMAahIX4dxM7r0MW9bM0jU3/Xm8pw7dHWYoCsFpun8RvYR mCZbKzqbwZmpqgC/ygvBiG62U2iJaNnniwvRaUHIZAVzy0dGkirkdSsaMinGsy9vkAIk 2JX/3hOCG4iMo2rnhHVY48Wbhi5X+qP62Ttfb+bz6hB7dvPqBUehcPSCZBPYxeM3+FXx Pthg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=rFIGnhbbxJlKc/xgO0vXKwYw+G/JysDisiDFhdxpmu8=; b=VKmF48g1plqiuxWeMKgJuIuUWPydrm1wQFVNOjS7QAadASxDwpEiU3L/bxHyieEP4r /NVx5Jmf+QVupmZ3Hg3IBz+cGt1evCuntQgOa8lIgBTo2mYneJ+UrY6a+SFiuScerMWS 2Wlx9KhRcgz4GrfxvMSd/NNTb7Zia6m6MZMo62+Mj+HjHp7AxgJwX5zRTjF1X4ENFgDR xE0DZiOzJpNEPWdFXgvj30dXQtOTnK/oEhBFEu992QbfARnXbPi6Wlw+to1HYc4/vxs9 C2jjxEm4oEXHjZEHH0XFwNYdzJS1Fsw7KAaiimR8Y5DFzBRhK+FoglRzTZTkXhX9su3d kQyg== X-Gm-Message-State: AGRZ1gKpRmy+UBKe0p9DZNvK2x+8xGuwsQ0EfENa1TQQppDOScCZEZtV lvja04zh2FUkpejtOqVVR4x1WJhqn7AHVBj0j58= X-Received: by 2002:a19:d912:: with SMTP id q18mr10709927lfg.24.1542649308760; Mon, 19 Nov 2018 09:41:48 -0800 (PST) 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-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 */