Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp942048yba; Wed, 15 May 2019 12:41:36 -0700 (PDT) X-Google-Smtp-Source: APXvYqxWpqktxEoDvDgIhyWnROmMhva7IYyoTC5aNeqD2RcIEu9hRnca2PJ/4Pqpio/UomNInBao X-Received: by 2002:a17:902:b094:: with SMTP id p20mr23426884plr.164.1557949295910; Wed, 15 May 2019 12:41:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557949295; cv=none; d=google.com; s=arc-20160816; b=o8nPitXv5iiBKhHb6kOISRr9OrTAVi5eUbuVOcwurlExLJkaIFBFTo94DLqOVfGVP4 YuoSSD1f6uQRN9o6Ic4RewQiA3jWeXFjVT/e/sJhQp53Tu3x480dP6mXpnqx5ZGfuiCH 4+1TKJ97Pg3kB+rYmH1XXz8aUWD2355kPy4JvdaVzJz2QYJUh2WZ047j1RdDwEH6m4R8 rGDm05KNkMXQLQU6J7g55Hb8a3YLejndK6uNrIUZ/ASg4myl5Dgjfq4vy2UA0MyVZ+W4 klWQ29GoFmX+RaFuEIjHI5/jfF9Xhl/J0w2uzF9z/bOqQTS4wyk8k62OaOewBhqcSiM8 se0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-transfer-encoding:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=RWQI7ooJB6AEhEXYXvitvIV+ZHlCXuh/kzqa9I6YGmw=; b=ZoHB9855OaSrGXTQd525gSIkJeBAVZFVy3XAR8cQHG0nBrcdyh0ROLFw6EbCYQxwHF aofmtjeILkrklaC2RSxcSLZ6UEKfizVlb2RUfYfcfZjCDRjAjM9vn+OIiOmlKfQiSC5b y0WWSdM30qIbJ/q+mVpKyiMenIEdnQjCDNdkXOrkpvrEcRVR82X+kYmexOzh4Ut4Byyt IhbdKMBj9Ed8ZUrmDSWDBV9MeaBUjrjuOKUaTnUeOQDq4yG9oy7vg4uCsfjVB9sgfg/m 6md6UQiwG2au9yIY0MHFsxPjozb3hYXuTaDODWfULNzXYgDB5rMwUVuG/JsZOoWZ+ciE qTvw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a14si2588405pgm.206.2019.05.15.12.41.20; Wed, 15 May 2019 12:41:35 -0700 (PDT) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727806AbfEOTj2 (ORCPT + 99 others); Wed, 15 May 2019 15:39:28 -0400 Received: from tartarus.angband.pl ([54.37.238.230]:48672 "EHLO tartarus.angband.pl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727785AbfEOTj0 (ORCPT ); Wed, 15 May 2019 15:39:26 -0400 Received: from kilobyte by tartarus.angband.pl with local (Exim 4.92) (envelope-from ) id 1hQzjd-0008AI-LV; Wed, 15 May 2019 21:38:41 +0200 Date: Wed, 15 May 2019 21:38:41 +0200 From: Adam Borowski To: Kirill Tkhai Cc: akpm@linux-foundation.org, dan.j.williams@intel.com, mhocko@suse.com, keith.busch@intel.com, kirill.shutemov@linux.intel.com, pasha.tatashin@oracle.com, alexander.h.duyck@linux.intel.com, ira.weiny@intel.com, andreyknvl@google.com, arunks@codeaurora.org, vbabka@suse.cz, cl@linux.com, riel@surriel.com, keescook@chromium.org, hannes@cmpxchg.org, npiggin@gmail.com, mathieu.desnoyers@efficios.com, shakeelb@google.com, guro@fb.com, aarcange@redhat.com, hughd@google.com, jglisse@redhat.com, mgorman@techsingularity.net, daniel.m.jordan@oracle.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: [PATCH RFC 0/5] mm: process_vm_mmap() -- syscall for duplication a process mapping Message-ID: <20190515193841.GA29728@angband.pl> References: <155793276388.13922.18064660723547377633.stgit@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <155793276388.13922.18064660723547377633.stgit@localhost.localdomain> X-Junkbait: aaron@angband.pl, zzyx@angband.pl User-Agent: Mutt/1.10.1 (2018-07-13) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: kilobyte@angband.pl X-SA-Exim-Scanned: No (on tartarus.angband.pl); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, May 15, 2019 at 06:11:15PM +0300, Kirill Tkhai wrote: > This patchset adds a new syscall, which makes possible > to clone a mapping from a process to another process. > The syscall supplements the functionality provided > by process_vm_writev() and process_vm_readv() syscalls, > and it may be useful in many situation. > > For example, it allows to make a zero copy of data, > when process_vm_writev() was previously used: I wonder, why not optimize the existing interfaces to do zero copy if properly aligned? No need for a new syscall, and old code would immediately benefit. > There are several problems with process_vm_writev() in this example: > > 1)it causes pagefault on remote process memory, and it forces > allocation of a new page (if was not preallocated); > > 2)amount of memory for this example is doubled in a moment -- > n pages in current and n pages in remote tasks are occupied > at the same time; > > 3)received data has no a chance to be properly swapped for > a long time. That'll handle all of your above problems, except for making pages subject to CoW if written to. But if making pages writeably shared is desired, the old functions have a "flags" argument that doesn't yet have a single bit defined. Meow! -- ⢀⣴⠾⠻⢶⣦⠀ Latin: meow 4 characters, 4 columns, 4 bytes ⣾⠁⢠⠒⠀⣿⡁ Greek: μεου 4 characters, 4 columns, 8 bytes ⢿⡄⠘⠷⠚⠋ Runes: ᛗᛖᛟᚹ 4 characters, 4 columns, 12 bytes ⠈⠳⣄⠀⠀⠀⠀ Chinese: 喵 1 character, 2 columns, 3 bytes <-- best!