Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp2700544ybl; Mon, 20 Jan 2020 07:47:06 -0800 (PST) X-Google-Smtp-Source: APXvYqwRvmBEBesc79jzTYE6eBiCeZ9fTUNcgVSQIdysHwfm8vBNS8oqP4Wr7DX6osGVat5lgVwh X-Received: by 2002:aca:ad11:: with SMTP id w17mr13592539oie.85.1579535226315; Mon, 20 Jan 2020 07:47:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1579535226; cv=none; d=google.com; s=arc-20160816; b=yhlOGPn2lHY2H/xBm4mXyHvYwhWvX9mNmjv3MKC2KGIRvec/A5LK7hF2eBHV01YL7/ i7S+4ypQaOC5PyGCy8fT87SERAXOz/igHTFGiEi7DGAhPnsz7dZE+hEyaDOMHOOLPC7B LSIl3wJQzHr3+BXVdd68YSkeMzAVfv4C1gEsZRDiTBjjGV41LDwzynf/7bFPT2Z7gnh4 IjIJhwMDwdkzpqIH9NZxPylUbqR001vYL76NpvM1HvmObIOl/IabexzSairLtoZ4k5Yx Sk2VAWy0H0zOKkLR70rh6tMpdeN41hfRauCvsEX4aVpeD7L2m2Sj04j/c8gFfVBAJv2F n0nw== 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=JRmMzO219tY5iJKWdolr3waKgeawvzdw0ymvmaVvtNg=; b=tdsabC1MaUgF0E63CDSkrqC1HKBwmaCbNjcxLz3gVlFOmIZ8O5+bCUsJrtJAq2pJbu gusRKSlr3e7wzoohlAsx3CW/OTQm7tsgYzaKTtfOCHdEuaZd0jKdrlJAnPym9yPcoBwX 3VPEmpVTzA8NTqpbzmW0bKYZ4Nl5FgHVt/IKltkHueHs18Gi4RcOfvzTD7zVi4r2PQlC K9BhO1IriKo7PHHxmFBgOSaUZJcUo7nKbgB17x085nVoETLkwNWpRI8nSAsbhWim29qG qf8IoTvo3sRqoIWVRNiXuPKphjrKNAeFaFpd5ztLtPTi2Vegcw7ewLRLCXbhPbQTvpxa Gqzg== 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 q20si21844316otn.297.2020.01.20.07.46.53; Mon, 20 Jan 2020 07:47:06 -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; 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 S1728783AbgATPov (ORCPT + 99 others); Mon, 20 Jan 2020 10:44:51 -0500 Received: from mail-wm1-f67.google.com ([209.85.128.67]:36130 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726642AbgATPov (ORCPT ); Mon, 20 Jan 2020 10:44:51 -0500 Received: by mail-wm1-f67.google.com with SMTP id p17so71674wma.1; Mon, 20 Jan 2020 07:44:49 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=JRmMzO219tY5iJKWdolr3waKgeawvzdw0ymvmaVvtNg=; b=Id6TxFBF1RlxNA1DFDzBmOYNe/lTlNUz+iWd8m14XTFOMHy1dXntWfum9EZcOMZQeT Mz4Vkmzlk5WUb578a2FMvGwmle/fYiuVfSegs8+mNVGKdQpd9lvh1dYh+45WaGvI5ZrU afAc3c7yf8zu6HLfma2ZKiuErew1wfPigTrQHW+PLI/mDQHBKh8QtKFdIfjEWxXQpFMa JpGzK/Xbm73QtgsGJPQBAjG73LtdG4hCZUlud6Euvrt8oyAiacdayPYNsHKXtoHDeRqo ijB/8iT/0X5Hvh87t43rBeJksl0qM4XpszHiYC/F/ziDFzRNVXxDM1ACYy9ITzzRS+gM LP9g== X-Gm-Message-State: APjAAAULJfoY/6YuI1Io5mnF7XMg4Jee8YdCFpYFa5JuaZ35ZAVcFev8 rKJ+Ct1EdCrwEe4YNPWYiV1AxBGU X-Received: by 2002:a1c:740b:: with SMTP id p11mr15320wmc.78.1579535088464; Mon, 20 Jan 2020 07:44:48 -0800 (PST) Received: from localhost (prg-ext-pat.suse.com. [213.151.95.130]) by smtp.gmail.com with ESMTPSA id v3sm47734043wru.32.2020.01.20.07.44.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Jan 2020 07:44:47 -0800 (PST) Date: Mon, 20 Jan 2020 16:44:47 +0100 From: Michal Hocko To: "Kirill A. Shutemov" Cc: Kirill Tkhai , Minchan Kim , Andrew Morton , LKML , linux-mm , linux-api@vger.kernel.org, oleksandr@redhat.com, Suren Baghdasaryan , Tim Murray , Daniel Colascione , Sandeep Patil , Sonny Rao , Brian Geffon , Johannes Weiner , Shakeel Butt , John Dias , christian.brauner@ubuntu.com, sjpark@amazon.de Subject: Re: [PATCH v2 2/5] mm: introduce external memory hinting API Message-ID: <20200120154447.GL18451@dhcp22.suse.cz> References: <20200116235953.163318-1-minchan@kernel.org> <20200116235953.163318-3-minchan@kernel.org> <20200117115225.GV19428@dhcp22.suse.cz> <20200120112722.GY18451@dhcp22.suse.cz> <20200120123935.onlls7enjtzenbvt@box> <20200120132405.GF18451@dhcp22.suse.cz> <20200120142132.srf4igph4zmecu7b@box> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200120142132.srf4igph4zmecu7b@box> User-Agent: Mutt/1.12.2 (2019-09-21) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon 20-01-20 17:21:32, Kirill A. Shutemov wrote: > On Mon, Jan 20, 2020 at 02:24:05PM +0100, Michal Hocko wrote: > > On Mon 20-01-20 15:39:35, Kirill A. Shutemov wrote: > > > On Mon, Jan 20, 2020 at 12:27:22PM +0100, Michal Hocko wrote: > > > > On Mon 20-01-20 13:24:35, Kirill Tkhai wrote: > > [...] > > > > > Even two threads on common memory need a synchronization > > > > > to manage mappings in a sane way. Managing memory from two processes > > > > > is the same in principle, and the only difference is that another level > > > > > of synchronization is required. > > > > > > > > Well, not really. The operation might simply attempt to perform an > > > > operation on a specific memory area and get a failure if it doesn't > > > > reference the same object anymore. What I think we need is some form of > > > > a handle to operate on. In the past we have discussed several > > > > directions. I was proposing /proc/self/map_anon/ (analogous to > > > > map_files) where you could inspect anonymous memory and get a file > > > > handle for it. madvise would then operate on the fd and then there > > > > shouldn't be a real problem to revalidate that the object is still > > > > valid. But there was no general enthusiasm about that approach. There > > > > are likely some land mines on the way. > > > > > > Converting anon memory to file-backed is bad idea and going to backfire. > > > > I didn't mean to convert. I meant to expose that information via proc > > the same way we do for file backed mappings. That shouldn't really > > require to re-design the way how anonymous vma work IMO. But I haven't > > tried that so there might be many gotchas there. > > > > There are obvious things to think about though. Such fd cannot be sent > > to other processes (SCM stuff), mmap of the file would have to be > > disallowed and many others I am not aware of. I am not even pushing this > > direction because I am not convinced about how viable it is myself. But > > it would sound like a nice extension of the existing mechanism we have > > and a file based madvise sounds attractive to me as well because we > > already have that. > > If the fd cannot be passed around or mmaped what does it represent? Because it is a cookie maintained by the kernel. > And how is it different from plain address? Kernel can revalidate that the given fd is denoting the vma it was created for and simply fail with ENOENT or whatever suits if somebody did unmap and mmap to the same address. -- Michal Hocko SUSE Labs