Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp2961322imm; Mon, 24 Sep 2018 13:03:35 -0700 (PDT) X-Google-Smtp-Source: ACcGV63/YvB3MurbQNVVw6ZsG9W29ytJH0VNn/9U9s6OQMGvmtjyrmJBYnf44fqmbdzxZV1N8G/2 X-Received: by 2002:a63:d613:: with SMTP id q19-v6mr279398pgg.327.1537819415672; Mon, 24 Sep 2018 13:03:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1537819415; cv=none; d=google.com; s=arc-20160816; b=plzN0ztcpC8b6QSWLDCS2jNLZltxeDmeuqHZsK2bYQ3wvHS/dofUsiGwLrEzuKutlu 4QSrBtJeBBoOF9M0LGbc2bE49gS/ZSSrH/GkAcWrgyqiJZR0+jEZr27X+gVCvdBsckAg OgZ0hj/GRaC7Mmq7wWAkBmiV4aJvEwRuTPZPTRmTQufXWo7K19JSzefpXe2z/Wqv13HU 5mgkH/2iTUpGOTg4rxMQ2a/Um3SMflXQ/3FYYYJBQ0zSk0ekLj+gRE5pUbOJMPAeVJNO KfBAoSONsD+QHrdlQYDrSU1Nfyjlapy6FFnXWzbvBEnFRtq35bnX6KtWGFSclTObk/oe PmOA== 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=TjNVn4FWybN+MWuvDaY8dyvP+lZRdvTazE0ocKENbl0=; b=Gf7ymtPM1MAAIJbOLcmeK9ofNfJq66qmP7ea8JkcQE2/dPdpFkuwgB9Y22HPWEL2Yi MwepS18pSfbvDlj7BFfYR4yMnPx2l5u6mLECZ+29iJU9ZVbmuyeUGxOodhFYsuzFy6Kg hA73wT0ef6TOXKJtY1x2AChazGFg3XoklAUaNjDm6gUOfhdamvhtaZ3yhYzB9aHulxsG CXe/w+y07/jugmWDHpZELFkG1cCxKhy0rz7dKwpQFtBdFVQeIhP86retY+26HjAp+ZXG 1C5K3v3DRF0xAIdqXG+7Zym+NpHG1/3kOFi94rfxgGaSppsX/bs2TEpFdxr7w7R6lASM cNSA== 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 10-v6si255645ple.60.2018.09.24.13.03.19; Mon, 24 Sep 2018 13:03: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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727211AbeIYCGx (ORCPT + 99 others); Mon, 24 Sep 2018 22:06:53 -0400 Received: from mx2.suse.de ([195.135.220.15]:58456 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725824AbeIYCGw (ORCPT ); Mon, 24 Sep 2018 22:06:52 -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 1BE3CAF71; Mon, 24 Sep 2018 20:02:59 +0000 (UTC) Date: Mon, 24 Sep 2018 22:02:58 +0200 From: Michal Hocko To: David Rientjes Cc: Andrew Morton , Vlastimil Babka , Alexey Dobriyan , "Kirill A. Shutemov" , linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-api@vger.kernel.org Subject: Re: [patch v2] mm, thp: always specify ineligible vmas as nh in smaps Message-ID: <20180924200258.GK18685@dhcp22.suse.cz> References: <20180924195603.GJ18685@dhcp22.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180924195603.GJ18685@dhcp22.suse.cz> 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 Mon 24-09-18 21:56:03, Michal Hocko wrote: > On Mon 24-09-18 12:30:07, David Rientjes wrote: > > Commit 1860033237d4 ("mm: make PR_SET_THP_DISABLE immediately active") > > introduced a regression in that userspace cannot always determine the set > > of vmas where thp is ineligible. > > > > Userspace relies on the "nh" flag being emitted as part of /proc/pid/smaps > > to determine if a vma is eligible to be backed by hugepages. > > I was under impression that nh resp hg flags only tell about the madvise > status. How do you exactly use these flags in an application? > > Your eligible rules as defined here: > > > + [*] A process mapping is eligible to be backed by transparent hugepages (thp) > > + depending on system-wide settings and the mapping itself. See > > + Documentation/admin-guide/mm/transhuge.rst for default behavior. If a > > + mapping has a flag of "nh", it is not eligible to be backed by hugepages > > + in any condition, either because of prctl(PR_SET_THP_DISABLE) or > > + madvise(MADV_NOHUGEPAGE). PR_SET_THP_DISABLE takes precedence over any > > + MADV_HUGEPAGE. > > doesn't seem to match the reality. I do not see all the file backed > mappings to be nh marked. So is this really about eligibility rather > than the madvise status? Maybe it is just the above documentation that > needs to be updated. > > That being said, I do not object to the patch, I am just trying to > understand what is the intended usage for the flag that does try to say > more than the madvise status. And moreover, how is the PR_SET_THP_DISABLE any different from the global THP disabled case. Do we want to set all vmas to nh as well? -- Michal Hocko SUSE Labs