Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp4855930ybi; Tue, 28 May 2019 03:43:40 -0700 (PDT) X-Google-Smtp-Source: APXvYqxklOjDQBppnR7AM96/61y7KcZEHdvT/g0WFvi/prt8CdTt2uEo9U8TcpIhfd37Lu5oQKNd X-Received: by 2002:aa7:8c12:: with SMTP id c18mr144892459pfd.194.1559040220508; Tue, 28 May 2019 03:43:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559040220; cv=none; d=google.com; s=arc-20160816; b=TujJhRnq9OJscHfiDOcqFozGTpyOP94+79RS6Hbv12Z/35GFT9GmIwyG4id1gk0VS1 DjnrZpKGG7E824lkvqa55l6YKDsPAuA25tXzbXRPcmi7IwN/fRuZozxsuV5micHKDRJe Z4iYdRTqUSGa7MoCxz9Df/KwPqvCA84+Zs/EOXofbLThH3Ax8EaHiIlIH6quXSUVpZoQ Uha7v4PswdkW2HRy57yGP4h4tNu+C9PPvpf4ILUJGAX9ILP2goW8B/RDkRXiUPBpiR5S kpeU5imgYMr8nusEmSBLi2jsQIgKxFqDUMqxtbtXvGOvp+h1EGfUnVxK6gvswd8QlEBi qfyA== 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-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=gksd89347YQP8h40owAO8ZPk7NT56rVFZiRRVryAoXI=; b=sGlrdJDLf+Y68bvLfbjlz/tpnSz5f++oBGNWZVaywPrC7GwhdaVu5xZM7Vx3zcloVo 15+XMkF8iPJkxiMFbgJwXbnoRaS/AireWEHGksXwZ/WVOCUVYt4hhl88CuwG94f7nuGi hbMDumatyabWQOIojOumt3kNPpR7zHdUSlN9sp1G+vJjw1PV2fiXxooNj77uUIwtEFD0 5X+JZB0G6VPQikgVHIhoN4NgW6C5pAVWpbWqoacLL8pHV0kJh0bmxMjKVRNs0TZ+l1KJ w/zC5CcS2QGyBrMap/jzL9bZszvg8sL4L1xIpPeIWxaDokfo87j8K6taR359JdPAsRBo i5sA== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m63si3088237pje.28.2019.05.28.03.43.24; Tue, 28 May 2019 03:43:40 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726614AbfE1KlU (ORCPT + 99 others); Tue, 28 May 2019 06:41:20 -0400 Received: from mx2.suse.de ([195.135.220.15]:40384 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726334AbfE1KlU (ORCPT ); Tue, 28 May 2019 06:41:20 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id E7A0CAEC8; Tue, 28 May 2019 10:41:18 +0000 (UTC) Date: Tue, 28 May 2019 12:41:17 +0200 From: Michal Hocko To: Minchan Kim Cc: Daniel Colascione , Andrew Morton , LKML , linux-mm , Johannes Weiner , Tim Murray , Joel Fernandes , Suren Baghdasaryan , Shakeel Butt , Sonny Rao , Brian Geffon , Linux API Subject: Re: [RFC 7/7] mm: madvise support MADV_ANONYMOUS_FILTER and MADV_FILE_FILTER Message-ID: <20190528104117.GW1658@dhcp22.suse.cz> References: <20190521062628.GE32329@dhcp22.suse.cz> <20190527075811.GC6879@google.com> <20190527124411.GC1658@dhcp22.suse.cz> <20190528032632.GF6879@google.com> <20190528062947.GL1658@dhcp22.suse.cz> <20190528081351.GA159710@google.com> <20190528084927.GB159710@google.com> <20190528090821.GU1658@dhcp22.suse.cz> <20190528103256.GA9199@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190528103256.GA9199@google.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue 28-05-19 19:32:56, Minchan Kim wrote: > On Tue, May 28, 2019 at 11:08:21AM +0200, Michal Hocko wrote: > > On Tue 28-05-19 17:49:27, Minchan Kim wrote: > > > On Tue, May 28, 2019 at 01:31:13AM -0700, Daniel Colascione wrote: > > > > On Tue, May 28, 2019 at 1:14 AM Minchan Kim wrote: > > > > > if we went with the per vma fd approach then you would get this > > > > > > feature automatically because map_files would refer to file backed > > > > > > mappings while map_anon could refer only to anonymous mappings. > > > > > > > > > > The reason to add such filter option is to avoid the parsing overhead > > > > > so map_anon wouldn't be helpful. > > > > > > > > Without chiming on whether the filter option is a good idea, I'd like > > > > to suggest that providing an efficient binary interfaces for pulling > > > > memory map information out of processes. Some single-system-call > > > > method for retrieving a binary snapshot of a process's address space > > > > complete with attributes (selectable, like statx?) for each VMA would > > > > reduce complexity and increase performance in a variety of areas, > > > > e.g., Android memory map debugging commands. > > > > > > I agree it's the best we can get *generally*. > > > Michal, any opinion? > > > > I am not really sure this is directly related. I think the primary > > question that we have to sort out first is whether we want to have > > the remote madvise call process or vma fd based. This is an important > > distinction wrt. usability. I have only seen pid vs. pidfd discussions > > so far unfortunately. > > With current usecase, it's per-process API with distinguishable anon/file > but thought it could be easily extended later for each address range > operation as userspace getting smarter with more information. Never design user API based on a single usecase, please. The "easily extended" part is by far not clear to me TBH. As I've already mentioned several times, the synchronization model has to be thought through carefuly before a remote process address range operation can be implemented. -- Michal Hocko SUSE Labs