Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp4771676ybi; Tue, 28 May 2019 02:11:25 -0700 (PDT) X-Google-Smtp-Source: APXvYqzuNegPPrS7PmFgfbo8eo1t2sC+r/CSwACGFbPkSoiV+encJg7HMwqoAgDhQyg15Ik2IRck X-Received: by 2002:a17:90a:9a6:: with SMTP id 35mr4257207pjo.66.1559034685596; Tue, 28 May 2019 02:11:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559034685; cv=none; d=google.com; s=arc-20160816; b=iQ6R1NL0vHYcypeP1fuMAewFCpl0fEfJMBGFmiaf7v5s5hleqXsT9/XZYfvP/nziKw z35D9fCnTKNuYSxMxs6ck/Q/d4M8mvMqXU/9dIQqUUK8b+40uqeHImzhGg4bNunToTYT E7SbaiCku8aqTJmoWHXifYXiZcfUF7FEdJR5zETwjFCMjsOgEYeKKfhGGE6jf/r5WHUo LBHkwGLnCFfGOsaaFXGhDIcDMGHYmLw+rEx3eDiFb2GT/j6zhwumdiXqfetjzIFxPPZG wsEjb6YAEJjRqaYU+Nn3M19WEOTSe1IOzr0BLdppRlGL2n8VKEEwMbWPTgLLzn+A1gA9 dpEA== 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=ZwcWr9VWmfqG3HHy672VEg4BSNiSaWATEy9aAwdElOM=; b=F57b6Q5ws9Ie+4QRSUX+sVQaGnhXIVLk4fMFX1FwNCujKpaAjbyY9s21GeGMkRmgM1 uEN325iB26ZkC1YqtM6kL9SilvCDWulXBv5PwXG4t0IjGXv3y7uDJiLcG+9IXadw9Ybj uSN9k4jKBqnf0ioVpBWxy0EGbSKrvFrSxy3/DhE0yYJqOVLQA4Kgsj+uRFssUDjqVucf wGfCqsVzdmsAolMWfA5RydAn7noaTkdhLbKk8fqoRgfb33L5Sqv1Ajkad1B/0h7iiuxc d6mG+8s9zk7oS+Z/02S+TBcbTZADxxxR8nlHqCZq1PAQHFZe8UZWHVAmxdMcQq5wT0gJ id3A== 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 s21si20114739plr.378.2019.05.28.02.11.09; Tue, 28 May 2019 02:11:25 -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 S1727675AbfE1JIf (ORCPT + 99 others); Tue, 28 May 2019 05:08:35 -0400 Received: from mx2.suse.de ([195.135.220.15]:45920 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727401AbfE1JIY (ORCPT ); Tue, 28 May 2019 05:08:24 -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 784DAB010; Tue, 28 May 2019 09:08:23 +0000 (UTC) Date: Tue, 28 May 2019 11:08:21 +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: <20190528090821.GU1658@dhcp22.suse.cz> References: <20190520092801.GA6836@dhcp22.suse.cz> <20190521025533.GH10039@google.com> <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> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190528084927.GB159710@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 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. An interface to query address range information is a separate but although a related topic. We have /proc//[s]maps for that right now and I understand it is not a general win for all usecases because it tends to be slow for some. I can see how /proc//map_anons could provide per vma information in a binary form via a fd based interface. But I would rather not conflate those two discussions much - well except if it could give one of the approaches more justification but let's focus on the madvise part first. -- Michal Hocko SUSE Labs