From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D4F2EC433FE for ; Wed, 10 Nov 2021 08:14:49 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 7076D610F8 for ; Wed, 10 Nov 2021 08:14:49 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 7076D610F8 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id D686E6B006C; Wed, 10 Nov 2021 03:14:48 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CF0696B0071; Wed, 10 Nov 2021 03:14:48 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B6AAA6B0072; Wed, 10 Nov 2021 03:14:48 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0224.hostedemail.com [216.40.44.224]) by kanga.kvack.org (Postfix) with ESMTP id A939D6B006C for ; Wed, 10 Nov 2021 03:14:48 -0500 (EST) Received: from smtpin09.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 66D2C7F902 for ; Wed, 10 Nov 2021 08:14:48 +0000 (UTC) X-FDA: 78792309456.09.25C5420 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf16.hostedemail.com (Postfix) with ESMTP id 92036F00008E for ; Wed, 10 Nov 2021 08:14:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1636532086; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=VRNRQyUTnzlLVnEZtE2AkClya4QUFn8/IlNw/XyFTA0=; b=XqOptqSLZ/k6W4kLXIDH6RZKPKVV4P5MT5XLjAS0Ac5W93BF8sQpB+oJMV/DB6a7kRHU04 +wqJGD+PifEcFEOQLbE7ChAddtIYAA29T3ZgmOpVXlkFmdW5kS9SJ1tReIhb8O9BUFPuvR Hu8CtC/asipBzWjNLwqijdjMWEnzvjU= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-245-TPjJXh0gOKSfz-wPU-1O0Q-1; Wed, 10 Nov 2021 03:14:45 -0500 X-MC-Unique: TPjJXh0gOKSfz-wPU-1O0Q-1 Received: by mail-wm1-f70.google.com with SMTP id k5-20020a7bc3050000b02901e081f69d80so758213wmj.8 for ; Wed, 10 Nov 2021 00:14:45 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:organization:in-reply-to :content-transfer-encoding; bh=VRNRQyUTnzlLVnEZtE2AkClya4QUFn8/IlNw/XyFTA0=; b=ymoFuvMEfZFLCwsjcm3EYFYFo2gvoyWNlM/8IxwHdz00vzbTSPWuhhhabe4QXjwDoV gFp/JQlnBdQvFGlYjO/8TDittvY9DYy80szHJHfDPVwRXo78/alhJIjtAt1mucQAB/hy 7Xc8JZYRlTM1dxnt34r3+9z/jf/DoeZRS00GylDZgrQCbaRlzlZhQVoff67drO5Rnulx D2aQ6QOOPDVzG30bdSoyum+0xhl6pAo0gQHtFXcQYZSUE7PW4LSo12pWgHpSGl3K64NY BGZ4yTlrdvCMG1L9KlkXYe0j7eSS1yjoTKA59S6OAvOnErsS4jryLk5dkm2v9HKkRC3C 3iEw== X-Gm-Message-State: AOAM530QImwiRKAbnVCwNMEZcwaQ9EJfP2nve1W/e9BmvZw7atrsliwq 3kg6rrtPdeqj7inyf3m4FkURh0D2f9gYgLBN8q5JaSbpvMNPMXPOB1cpbgSzhwnZ0KAgD11ODMO e7gd0b/FFoY0= X-Received: by 2002:a5d:584c:: with SMTP id i12mr17905136wrf.95.1636532084467; Wed, 10 Nov 2021 00:14:44 -0800 (PST) X-Google-Smtp-Source: ABdhPJw4dpF+9h8LV87D9pZFz8cxyVWRVQUWPuD6s1mUnxonVBOGF7DYa06GNXlBIp4oI9oYiNDs+Q== X-Received: by 2002:a5d:584c:: with SMTP id i12mr17905107wrf.95.1636532084265; Wed, 10 Nov 2021 00:14:44 -0800 (PST) Received: from [192.168.3.132] (p5b0c604f.dip0.t-ipconnect.de. [91.12.96.79]) by smtp.gmail.com with ESMTPSA id z6sm22659735wrm.93.2021.11.10.00.14.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 10 Nov 2021 00:14:43 -0800 (PST) Message-ID: Date: Wed, 10 Nov 2021 09:14:42 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0 Subject: Re: [PATCH v4] mm: Add PM_HUGE_THP_MAPPING to /proc/pid/pagemap To: Peter Xu , Mina Almasry Cc: Matthew Wilcox , "Paul E . McKenney" , Yu Zhao , Jonathan Corbet , Andrew Morton , Ivan Teterevkov , Florian Schmidt , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org References: <20211107235754.1395488-1-almasrymina@google.com> From: David Hildenbrand Organization: Red Hat In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 92036F00008E X-Stat-Signature: xoze4tz94ctn1xgjcmsixcmcbnb9gw74 Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=XqOptqSL; dmarc=pass (policy=none) header.from=redhat.com; spf=none (imf16.hostedemail.com: domain of david@redhat.com has no SPF policy when checking 170.10.129.124) smtp.mailfrom=david@redhat.com X-HE-Tag: 1636532077-933335 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 10.11.21 08:03, Peter Xu wrote: > Hi, Mina, > > Sorry to comment late. > > On Sun, Nov 07, 2021 at 03:57:54PM -0800, Mina Almasry wrote: >> diff --git a/Documentation/admin-guide/mm/pagemap.rst b/Documentation/admin-guide/mm/pagemap.rst >> index fdc19fbc10839..8a0f0064ff336 100644 >> --- a/Documentation/admin-guide/mm/pagemap.rst >> +++ b/Documentation/admin-guide/mm/pagemap.rst >> @@ -23,7 +23,8 @@ There are four components to pagemap: >> * Bit 56 page exclusively mapped (since 4.2) >> * Bit 57 pte is uffd-wp write-protected (since 5.13) (see >> :ref:`Documentation/admin-guide/mm/userfaultfd.rst `) >> - * Bits 57-60 zero >> + * Bit 58 page is a huge (PMD size) THP mapping >> + * Bits 59-60 zero >> * Bit 61 page is file-page or shared-anon (since 3.5) >> * Bit 62 page swapped >> * Bit 63 page present >> diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c >> index ad667dbc96f5c..6f1403f83b310 100644 >> --- a/fs/proc/task_mmu.c >> +++ b/fs/proc/task_mmu.c >> @@ -1302,6 +1302,7 @@ struct pagemapread { >> #define PM_SOFT_DIRTY BIT_ULL(55) >> #define PM_MMAP_EXCLUSIVE BIT_ULL(56) >> #define PM_UFFD_WP BIT_ULL(57) >> +#define PM_HUGE_THP_MAPPING BIT_ULL(58) > > The ending "_MAPPING" seems redundant to me, how about just call it "PM_THP" or > "PM_HUGE" (as THP also means HUGE already)? > > IMHO the core problem is about permission controls, and it seems to me we're > actually trying to workaround it by duplicating some information we have.. so > it's kind of a pity. Totally not against this patch, but imho it'll be nicer > if it's the permission part that to be enhanced, rather than a new but slightly > duplicated interface. It's not a permission problem AFAIKS: even with permissions "changed", any attempt to use /proc/kpageflags is just racy. Let's not go down that path, it's really the wrong mechanism to export to random userspace. We do have an interface to access this information from userspace already: /proc/self/smaps IIRC. Mina commented that they are seeing performance issues with that approach. It would be valuable to add these details to the patch description, including a performance difference when using both interfaces we have available. As the patch description stands, there is no explanation "why" we want this change. -- Thanks, David / dhildenb