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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 05216C636CD for ; Tue, 7 Feb 2023 22:57:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7E6B66B0096; Tue, 7 Feb 2023 17:57:32 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 796166B0098; Tue, 7 Feb 2023 17:57:32 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 637926B0099; Tue, 7 Feb 2023 17:57:32 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 508A86B0096 for ; Tue, 7 Feb 2023 17:57:32 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 2872D12045C for ; Tue, 7 Feb 2023 22:57:32 +0000 (UTC) X-FDA: 80442009144.14.B14D03D Received: from mail-vk1-f178.google.com (mail-vk1-f178.google.com [209.85.221.178]) by imf03.hostedemail.com (Postfix) with ESMTP id 7949D20012 for ; Tue, 7 Feb 2023 22:57:30 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=tSUhcnsT; spf=pass (imf03.hostedemail.com: domain of jthoughton@google.com designates 209.85.221.178 as permitted sender) smtp.mailfrom=jthoughton@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1675810650; h=from:from:sender: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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=CwnlBaVdlaZ1AwryrLuF8ka1d9yuFXSArhBvcQ/ajy0=; b=T7u3KbyumTHPanYbc32FAwYiTpGbArhlqClLMw+6oN5O2BJBZ39facQ5bm4SPMhMWep692 3xjoyNAbzAm1dpwmvEP3h7SPYyL6glfFBVgVlhJg1HLUGoW91vkLKzkZ306Zps3CqoU6x3 3DaMwDuVua2iJdeS//RjVLW8JWOyYOY= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=tSUhcnsT; spf=pass (imf03.hostedemail.com: domain of jthoughton@google.com designates 209.85.221.178 as permitted sender) smtp.mailfrom=jthoughton@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1675810650; a=rsa-sha256; cv=none; b=nakdWKryCEEMOglvSDEsg9jdmL6JxkRRG1+AlOgp+vFaIOHXnXeJTKtFLugQC1QL10wYUD SPHUgkGHQ+HaW+Wd9bAOEIa+KQqgCahIZNftVqaA4FQX51dVsGHETAoYV42Dbf3/vIXlOD cCifbBXwaDoX3B2d8PVUjnz0onjewsM= Received: by mail-vk1-f178.google.com with SMTP id i38so8739466vkd.0 for ; Tue, 07 Feb 2023 14:57:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=CwnlBaVdlaZ1AwryrLuF8ka1d9yuFXSArhBvcQ/ajy0=; b=tSUhcnsTPy/W/WAbiicxuw9eI3yyy7UW6K82uNXRyjLF7wozLrjD8f5YTCBbTdWzFl tnRzH0QetLrZj2KIVB+LaJzCOhawcjBn1N4WsL76VdtJpJPJQm2Q0zOYc6crSiRoA/A1 Z6w+ZyvtmCC1r6Rg4iCiISMNoghyA7P+MtJ2Vrpmo6lm9nJ0NbuYy0KBBh9c1fLG/rFf RLSD0b/UP6TUmtQipW6gD04S4PRdFdMpswmzhXp10GcgBxteittI/mEwcNtIN+HPKjQh oRKbctkpqljTLabz+U0MPut5zTQgks+QjdLR6LTiy1be/WsJdg4n2nhzTOQby/qa9WRV u9bg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=CwnlBaVdlaZ1AwryrLuF8ka1d9yuFXSArhBvcQ/ajy0=; b=bwCMFYkX1AO+fzfyy6NFW4qhhqErZfwQTit93wyc1xwyF12rhX0fMgEIFidH7UQaLn i6HoxN8OOcexUGIH+yCmyQpdVtPcaPKXc3bZQXR2xWqN5ku2WNf1mkiwQp3w9UBvWC2+ e02bk38G1Th20WizJ2adudz4ZYqP/xxeo/uvGijqpaaDQUPonboiuc4/c5nhK3a+wThe oXx7HwH5aOeCpg7dQFCMn/KNiIBsTt0bs03NRBA9zC4/h4NC3PyMdYXeF5EqzN4IM8FK vSv0sSTSA8bRbf31Vvf5lSa667mxiWD25d6jGqwI5szLK1ltDrP1fOgqUv/kg5VIfDXS 9YJQ== X-Gm-Message-State: AO0yUKXFejnA8nmsnKN2ilkUN5mqZHny3nN7ftuOJWsBI2PZu1hDB1AV 1j5hFHPfU4cTVMBgSFDWXlILPALSHKlpX0vLhXIeLQ== X-Google-Smtp-Source: AK7set80XUx1SpjdCIUvpuT9JMpJyDgBdBe5P+mNzTxpt5JZYBIc7IIVQ6CuLWW58lRC/vQlj+D81txAkzaGrFWlL+M= X-Received: by 2002:a1f:ad03:0:b0:3b7:5ff7:cfb8 with SMTP id w3-20020a1fad03000000b003b75ff7cfb8mr854927vke.11.1675810649483; Tue, 07 Feb 2023 14:57:29 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: James Houghton Date: Tue, 7 Feb 2023 14:56:52 -0800 Message-ID: Subject: Re: Folio mapcount To: Matthew Wilcox Cc: linux-mm@kvack.org, Vishal Moola , Hugh Dickins , Rik van Riel , David Hildenbrand , "Yin, Fengwei" Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 7949D20012 X-Stat-Signature: 44aw5d566txn4c1emw8bzzw6i9qr5m75 X-HE-Tag: 1675810650-160091 X-HE-Meta: U2FsdGVkX190amfgnTD3/cf/F6yKRx9dORnyKczFv+7KsMrK6RRkqAQtwpoIN/b30vLjDdbSKI1eJo6/OsOkm6OFEePWG6rB00WflXJ7nl5ka5kKHcJ0U0TFxh5/tLY8Wl0toI5UbVH3B1SwupmNIBnePiDudV4CfF1DDj7v2D7GXrv2qUVcMDr/gkxs+l7MaLW0G1/5syW29dKrDaEXfP8LMZb5wGcLNFz9OQ6BLarPkfu/Z2vSXVBTsMdyp2JsDE9mbY0DDxR7KcWBfMdfgaZgFaIHz8pMy0HZhIRG0YY870F/bC/HY+HLF/DiN4i2H1UXLqBXCCm8Sal/UzbqNvJs/US0ZCqz5CRr4wfKMxao6GLObvLjrZT05aGG7eEdElU0mz69eDj5aI+ZEvNsujWf3Xl9RjB61C+cGMrYmWGXmD4RUM/Z5qFFQeqtcHHB8mtJxN04NTsT0wpjw970lBEv5VghawyK4QAipnfR+5H9RwBajHN0MCcSl8LSuwRtqfjXvXBZ0foyzh8w03WMNqarGCXxpBOVryz0iXTkKXuz6GPv08E/QIC6ibvNNQVntaZy5lYLCuoCQ/XvGK+X8LE4kZD3LO2N9J+xIAYAFyHAfxyLwh/olrVDPb2IqTS8aPwvaZjS5Vk40hka67jW955YZVp7PcSWJfKKHgu05VVy/vS6Rn+bZ7yEgqztkTmy73IT4MI1lXgnFLq5a6gAWLIuF0gIG0OKpFivhBIRyKlvOUJT6P4FB7jhAkCTEe06Fmm7oEXAHdBlmgsgnCMJJz/YkV27RpQasWU0gl53fAojjQDTSXaLG1V7QWxIWEXXN/o283B1AIogmntahtZjStWtedhCG0dNan+dLgCi1tDA4XBNv7hDaWu3j7VgLt169AiuXa6RK1hgYpCMhtHi7O+0Y+UAm4OWt+d2GP0K/JKJQuL6FQt2NKPPbUsLEqfPsPuynrxGwsuM9mFa9zw b9T/cZuf W4/VYaUP9IhTzbEKiut8erEOfqFtuLsGa0ZEdnUqnpg6nVGMDMiqHin+SLjvw4zqkZyDfgYVCX/hB2BnUVFN3kZclBBkUI3zUfkDcDXSMYIdZCm3GBrY3PduejPX2BEYzbX4pKT6w7KEBx155ZOS0S7cbYAhsHC/TQun67UpkAseAbOmoLtJgHTMoaBh086WH41y6O6gfVCXDmVmXp/zWAt+RMDUuu8xwc8JIkG4WBvss6mTgSY5YTfM51Z2qolZz3PJnkwowdnx7sPtAZsxUmWUxqKLtBgkC2QLHjUd0xBMkPk8A/boDNJgTgzhbAIA5Lr3/mV1/kI8NiwWwLrvpJa5O39b6/h5N6rIKqHA9ojK35cTH4W6ZSmOz6w== 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: Hi Matthew, On Mon, Feb 6, 2023 at 12:34 PM Matthew Wilcox wrote: > I now think the mapcount has to be defined as "How many VMAs have > one-or-more pages of this folio mapped". > > That means that our future folio_add_file_rmap_range() looks a bit > like this: > > { > bool add_mapcount = true; > > if (nr < folio_nr_pages(folio)) > add_mapcount = !folio_has_ptes(folio, vma); Can you elaborate on how folio_has_ptes() might be implemented? It seems like for a naturally aligned THP, we can see if the PMD is pmd_present(), otherwise, do we need to check (potentially) all the PTEs? Does this introduce an ordering requirement, where we have to update the page table always before/after we call folio_add_file_rmap_range()? Thanks! - James