Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp3867861pxv; Mon, 19 Jul 2021 10:39:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzfpc4FmDLYSDqGsNGPEHfQela7lRXDRm3pu8+GxedVyVvNE7eLilhbia7q/+yLCeIipyfz X-Received: by 2002:a05:6e02:60c:: with SMTP id t12mr18437001ils.121.1626716290079; Mon, 19 Jul 2021 10:38:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626716290; cv=none; d=google.com; s=arc-20160816; b=IfuNqVnMgVnsVLkfAtI0qYeyYtOXZ4CqrBRxzJVlAIrVcjbar8EsUXOrdVqXQWnMeR iol/3m0/puQYpocpVIzEEjkeRoTHyOs+67qmy0AWT+TwvfAjldkI6y/+ykTkK12UVIhw haqKXXE0nahIHuo7Oa0rRrz6XjNhwykWQ4iD30Dtylg2EP1IBAbTOqculicEzCkyCAKd 3Yeq4yR7rkFwYRkLCS8EAD3IVT91iE2I0AZ1Cp+jUVVBlGZbnARyOuTHZKZilX4x5jop RumHxLkqFcYQuKNVd/USfdgzaCyFJu4h3wTmBMuz7TSdg3PeUS9CxJQ4Sa+PT1HulGPR uUUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=cwlSLaETgArexDqT/XyinpkjkehxQ6aINHSxgRaGFVQ=; b=wghvFccpTVnvVgxwI33Iu+pqn9jCFamekwbJlUFtM+rjxH1fO0inpWB1Emx9r6nP5n 342HHYJ6gbrOptRQWgvedOsbKkIef+rpWFt2UeFWCmRrrJO0vwDBA2hJnUNabXlhCIXl bapH6e4dmrblBjMhC5YvgFywcVml/1OeU8INNC7Dyg1122kqLK7PTjCqZrmAER4WQT7q U5F0Y7K9f3xQ3TF5Ix7zJ+H/DOqU/aemfB1ycNV79o5l280apv2nG/KitoYabtbIVLna 4gOilmMWy4nDE6wgkgZPJ8CI3uE7UvRiRBvO1XGQioYcXbHuzAbyEkuiKzYlbJs1Hyh7 soXQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=PopawxKv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v19si10802892jat.76.2021.07.19.10.37.57; Mon, 19 Jul 2021 10:38:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=PopawxKv; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1357667AbhGSQwM (ORCPT + 99 others); Mon, 19 Jul 2021 12:52:12 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:42813 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1347866AbhGSPXA (ORCPT ); Mon, 19 Jul 2021 11:23:00 -0400 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-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-533-e0GPNygePXWh9-Rnf3XCbQ-1; Mon, 19 Jul 2021 12:03:21 -0400 X-MC-Unique: e0GPNygePXWh9-Rnf3XCbQ-1 Received: by mail-qt1-f199.google.com with SMTP id j11-20020ac8664b0000b029026549e62339so2093569qtp.1 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=RGALxT0YAGQdOzDTb349KmtUFcqkv/JFLA7kBSdiuQHXwGLDJRj7aoSZ5hctB02l9K rRv4xxFU6PCF4MIr6RyRvEGs0DUKKL6o+xLl/nWCTIM8ER9PhLil/W5KPyRbWeIR3ESK bSffMKwJtrHAVm3RzWvIGq881WX++VcWrGdmqYUmsao/rknda3/0G6kL7ZYoB57WUaFd hJgVKv2B3ORnaMOU/0xDhISvXIAxRjGRDZ18pHfFyXOA3YMA5hAkFCnaeANlXL0jlMEp 9ANOrcWJbTkFWZqgZK0W8BGrW3gnXBGE95Mrf9ot1YrKU8zvzeqnCYA3xBAOefu12U4W pehQ== X-Gm-Message-State: AOAM533AE/NHhJkQJy8ReTM3rb52Xj/27alFfus4KWuPqTtKtrtKUjk8 SEW0vGgL1LTaKVd3w5z7D0qjB+1JjCbN6BTe2Upr6S4nh/o9PQmpIK+QCLwLFZRU9GdE03bqePB Wr8uVTlPnn+YC0XlXRCcRy74S X-Received: by 2002:ad4:584c:: with SMTP id de12mr25823736qvb.1.1626710600594; Mon, 19 Jul 2021 09:03:20 -0700 (PDT) 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 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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