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 X-Spam-Level: X-Spam-Status: No, score=-17.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C07E6C07E9B for ; Mon, 19 Jul 2021 16:03:27 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 5F02361461 for ; Mon, 19 Jul 2021 16:03:27 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5F02361461 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 6BFB48D00F4; Mon, 19 Jul 2021 12:03:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 670488D00EC; Mon, 19 Jul 2021 12:03:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4EA398D00F4; Mon, 19 Jul 2021 12:03:27 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 07D8D8D00EC for ; Mon, 19 Jul 2021 12:03:26 -0400 (EDT) Received: from smtpin14.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 9154926808 for ; Mon, 19 Jul 2021 16:03:25 +0000 (UTC) X-FDA: 78379807170.14.C77F320 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf30.hostedemail.com (Postfix) with ESMTP id BA8C0E0019B2 for ; Mon, 19 Jul 2021 16:03:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1626710602; 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: in-reply-to:in-reply-to:references:references; bh=cwlSLaETgArexDqT/XyinpkjkehxQ6aINHSxgRaGFVQ=; b=PopawxKvGTE20tec83ttZM4Vq5oMbRDvJ3POKTE7iQWTxhmzvWdM13usvXW/HgLzJyx15u Vl+AW/TW2L8hSazS0yzSfYaHx81vbp50m2ML9ohCb9qRJn7R9A26JejRDr3/dWDChf/8x1 DFBLA8YlkP9VWbqtAvG/h/i/HLhsC+k= Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-556-GAYDacGMPYeDaCX4boYaQQ-1; Mon, 19 Jul 2021 12:03:21 -0400 X-MC-Unique: GAYDacGMPYeDaCX4boYaQQ-1 Received: by mail-qt1-f197.google.com with SMTP id i9-20020ac871c90000b0290252173fe79cso9721184qtp.2 for ; Mon, 19 Jul 2021 09:03:21 -0700 (PDT) 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; bh=cwlSLaETgArexDqT/XyinpkjkehxQ6aINHSxgRaGFVQ=; b=VSCqPwyRPgVaKgKFMtrrPv1IBg6lCsauHDDI1xfhQrRsncSt+mdgSt+WjL/kgq2kef Vf7FG0128vd35LkwdGzfx9oqgLaP/gMKLd/5K8ujhJIScWxjUvS6zx1bdKAX4FtkUSLB gxPz/JJw9Tg1bJIyRtXeBCtWS3IQvahy4/yKmCth0VwjxpTTMlR25mk1gamKhXSQkkxE foqciHJPZJlP9dlM6AgdfR9jgRiIVKumbF9HoVsXmntUPw4ldU96PQbcw4tQ9kisJgEs 1JI7dTgv6lrg7+gCN5gdTCs4ZqHP9JBGKEBpEhZfwcop7ROd8RqpEqNSgaJY6oSEpR1q 2u4Q== X-Gm-Message-State: AOAM531OyDG23uMZAGZpnH6FuamNsWEV8SDTQruljc/qoPRwUkR6zzFX qNy9AyDVmr0PECl7kl7a4d6yD8p8OlSaaKaOgBDowgFU3fKCP+RiadAQLsj7RxLgiaba4h9ebFU 5qxWb+3z0EPw= X-Received: by 2002:ad4:584c:: with SMTP id de12mr25823743qvb.1.1626710600596; Mon, 19 Jul 2021 09:03:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxhyqRTa1ANQ4QN7GPrnUIoWzUY/QKPJBqstzJ8ix9jTJpIHgf5d1gQCAfJ6GeAcj+iL7IPuw== X-Received: by 2002:ad4:584c:: with SMTP id de12mr25823708qvb.1.1626710600400; Mon, 19 Jul 2021 09:03:20 -0700 (PDT) Received: from t490s (bras-base-toroon474qw-grc-65-184-144-111-238.dsl.bell.ca. [184.144.111.238]) by smtp.gmail.com with ESMTPSA id p197sm8475383qka.81.2021.07.19.09.03.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Jul 2021 09:03:19 -0700 (PDT) Date: Mon, 19 Jul 2021 12:03:18 -0400 From: Peter Xu To: Tiberiu Georgescu Cc: "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , Axel Rasmussen , Nadav Amit , Jerome Glisse , "Kirill A . Shutemov" , Jason Gunthorpe , Alistair Popple , Andrew Morton , David Hildenbrand , Andrea Arcangeli , Matthew Wilcox , Mike Kravetz , Hugh Dickins , Miaohe Lin , Mike Rapoport Subject: Re: [PATCH v5 24/26] mm/pagemap: Recognize uffd-wp bit for shmem/hugetlbfs Message-ID: References: <20210715201422.211004-1-peterx@redhat.com> <20210715201651.212134-1-peterx@redhat.com> MIME-Version: 1.0 In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=PopawxKv; spf=none (imf30.hostedemail.com: domain of peterx@redhat.com has no SPF policy when checking 170.10.133.124) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com X-Rspamd-Server: rspam02 X-Stat-Signature: 84k518kwt6gkezfip8jii59k738xrtwb X-Rspamd-Queue-Id: BA8C0E0019B2 X-HE-Tag: 1626710602-98234 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 Mon, Jul 19, 2021 at 09:53:36AM +0000, Tiberiu Georgescu wrote: > > Hello Peter, Hi, Tiberiu, > > > On 15 Jul 2021, at 21:16, Peter Xu wrote: > > > > This requires the pagemap code to be able to recognize the newly introduced > > swap special pte for uffd-wp, meanwhile the general case for hugetlb that we > > recently start to support. It should make pagemap uffd-wp support complete. > > > > Signed-off-by: Peter Xu > > --- > > fs/proc/task_mmu.c | 7 +++++++ > > 1 file changed, 7 insertions(+) > > > > diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c > > index 9c5af77b5290..988e29fa1f00 100644 > > --- a/fs/proc/task_mmu.c > > +++ b/fs/proc/task_mmu.c > > @@ -1389,6 +1389,8 @@ static pagemap_entry_t pte_to_pagemap_entry(struct pagemapread *pm, > > flags |= PM_SWAP; > > if (is_pfn_swap_entry(entry)) > > page = pfn_swap_entry_to_page(entry); > > + } else if (pte_swp_uffd_wp_special(pte)) { > > + flags |= PM_UFFD_WP; > > } > > ^ Would it not be important to also add PM_SWAP to flags? Hmm, I'm not sure; it's the same as a none pte in this case, so imho we still can't tell if it's swapped out or simply the pte got zapped but page cache will still hit (even if being swapped out may be the most possible case). What we're clear is we know it's uffd wr-protected, so maybe setting PM_UFFD_WP is still the simplest? Thanks, -- Peter Xu