Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp5354267imm; Tue, 26 Jun 2018 09:49:47 -0700 (PDT) X-Google-Smtp-Source: ADUXVKKh9Zy8ahPMdD7hBkQ18XdBcVcDr92xZwmF9ajcpGszhbKzlDr93pEWXmdNaXLRExNVLvij X-Received: by 2002:a65:4d4b:: with SMTP id j11-v6mr2073529pgt.430.1530031787290; Tue, 26 Jun 2018 09:49:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530031787; cv=none; d=google.com; s=arc-20160816; b=sH5g+Xm7PkBcOum3Rn/K9luCw25FGd6KjMyC/WUPjDx46nLprdrr1gZDW/MOGFvHn0 5/tEqyQ9HHiGoa89vDAM4/w6Vx9yMuECnasipDLN+Xw/ef/EcL/c5SMNdpVhrWlkLQfb t2BdsZuKPx461d711lfkbcefFV8mhSXU6zFbQC6OXi3ERU5Dty+LBjGWKMJ1+YlwUSC9 o9UV9Z9EshpcvYnZDmd4Asfa4peW/Wb+/c/GVScQlF36A32QXqwtNqe8SYOQjIpnPnBM yUPE1l6MhwKi1jLTkXxaGmHYf5prHsO1hoGwx81t/T/K1pHQCf3CP5gmdIImnuAlyd2n TjbQ== 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:arc-authentication-results; bh=BS2gUUzEd7FNgkWuoIYzWu39pJwLtY5txwG00PzR40o=; b=0g0VsCUOYmI7hIzXqClnnyO10PBwqU/DYpn56XKJCEBHituI2xtnjr7Azl7a9yFxZK NcNHjFYZyBozDYTIint8j1fWGqKpfSH3/LYp/xMP5qmgVUcwLy/lsUX0j89wc+1OxE3Y NrroXTFr22tZLQ1q7N9920hFilY9Q2SE6IG1tZjkzXPajNk7yFdwUFf6Yis1XSYxzbA5 3euMvY0cIs5t5vy1Ofr9sIaTvi4SjmY5TZCqVVxhqTF91OdgkJdQ0rqtZu7Gfs+vb6TY +sH6FtWu7bq/X6X/k40QdG9voif4Q5uQXrCMBvgC4LVmQCsqYVDk0hxhP/qPTgMC7rwm RLrQ== 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 n2-v6si1673196pgu.420.2018.06.26.09.49.33; Tue, 26 Jun 2018 09:49:47 -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 S1752740AbeFZQs3 (ORCPT + 99 others); Tue, 26 Jun 2018 12:48:29 -0400 Received: from mx2.suse.de ([195.135.220.15]:59942 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752568AbeFZQs2 (ORCPT ); Tue, 26 Jun 2018 12:48:28 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (charybdis-ext-too.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id AE63BABEC; Tue, 26 Jun 2018 16:48:26 +0000 (UTC) Received: by quack2.suse.cz (Postfix, from userid 1000) id 6A9521E3515; Tue, 26 Jun 2018 18:48:25 +0200 (CEST) Date: Tue, 26 Jun 2018 18:48:25 +0200 From: Jan Kara To: Michal Hocko Cc: Dan Williams , John Hubbard , Christoph Hellwig , Jason Gunthorpe , John Hubbard , Matthew Wilcox , Christopher Lameter , Jan Kara , Linux MM , LKML , linux-rdma Subject: Re: [PATCH 2/2] mm: set PG_dma_pinned on get_user_pages*() Message-ID: <20180626164825.fz4m2lv6hydbdrds@quack2.suse.cz> References: <20180617200432.krw36wrcwidb25cj@ziepe.ca> <311eba48-60f1-b6cc-d001-5cc3ed4d76a9@nvidia.com> <20180618081258.GB16991@lst.de> <3898ef6b-2fa0-e852-a9ac-d904b47320d5@nvidia.com> <20180626134757.GY28965@dhcp22.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180626134757.GY28965@dhcp22.suse.cz> User-Agent: NeoMutt/20170912 (1.9.0) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue 26-06-18 15:47:57, Michal Hocko wrote: > On Mon 18-06-18 12:21:46, Dan Williams wrote: > [...] > > I do think we should explore a page flag for pages that are "long > > term" pinned. Michal asked for something along these lines at LSF / MM > > so that the core-mm can give up on pages that the kernel has lost > > lifetime control. Michal, did I capture your ask correctly? > > I am sorry to be late. I didn't ask for a page flag exactly. I've asked > for a way to query for the pin to be temporal or permanent. How that is > achieved is another question. Maybe we have some more spare room after > recent struct page reorganization but I dunno, to be honest. Maybe we > can have an _count offset for these longterm pins. It is not like we are > using the whole ref count space, right? Matthew had an interesting idea to pull pinned pages completely out from any LRU and reuse that space in struct page for pinned refcounts. From some initial investigation (read on elsewhere in this thread) it looks doable. I was considering offsetting in refcount as well but on 32-bit architectures there's not that many bits that I'd be really comfortable with that solution... > Another thing I was asking for is to actually account those longterm > pinned pages and apply some control over those. They are basically mlock > like and so their usage should better not be unbound. Agreed here but I'd prefer to keep this discussion separate from 'how to identify pinned pages'. Honza -- Jan Kara SUSE Labs, CR