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 86C05EB64DA for ; Wed, 28 Jun 2023 18:20:21 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 05CF18D0003; Wed, 28 Jun 2023 14:20:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 00C8F8D0002; Wed, 28 Jun 2023 14:20:20 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DC9438D0003; Wed, 28 Jun 2023 14:20:20 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id CAE9B8D0002 for ; Wed, 28 Jun 2023 14:20:20 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 5607FA03CF for ; Wed, 28 Jun 2023 18:20:20 +0000 (UTC) X-FDA: 80952971400.06.E2D6A72 Received: from mail-ej1-f42.google.com (mail-ej1-f42.google.com [209.85.218.42]) by imf29.hostedemail.com (Postfix) with ESMTP id 3C51112000B for ; Wed, 28 Jun 2023 18:20:16 +0000 (UTC) Authentication-Results: imf29.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=SYYkYomD; dmarc=none; spf=pass (imf29.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.42 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1687976417; 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=M7aFeBqA+iPIGCr/uPGvnmE94Z3FPGe+Ni0JLr6Li2k=; b=W1yYnSkqFomsxCYhHhXUuVueZeTeaUKAhVPtiXyBdzqjK5LKpZS85ual/dBjLVPDDyPGVF 6pyztlkfu8epkDcsXlNf2/sQIoDtIMDoZt7vvWHv/KF0LmWQRp7LkLH4KRQ+jTc3MQ/JVv 8nw2U11PxUEU0EZGgkNAz3efgLJUMko= ARC-Authentication-Results: i=1; imf29.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=SYYkYomD; dmarc=none; spf=pass (imf29.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.42 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1687976417; a=rsa-sha256; cv=none; b=x6ghyR6Tie3sVsTb7EHS/74x0y4ie0WFu3c36qIQfjd6xwwqZYABAjMCWDS9vY8F885pVb FlyZjw/reugbRXX/MoNK2m92JxjxftSQ74nYyXI9d2F23DI+F6UZO4ONelzgzumN7j+GFb JvNNlHyyvdYD2d0tbuimYZtXYH/AtdM= Received: by mail-ej1-f42.google.com with SMTP id a640c23a62f3a-991f956fb5aso13373466b.0 for ; Wed, 28 Jun 2023 11:20:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1687976415; x=1690568415; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=M7aFeBqA+iPIGCr/uPGvnmE94Z3FPGe+Ni0JLr6Li2k=; b=SYYkYomDQiTGTtBuwvaxYcVhZX52v2zwLtDVDcOQBMjgYf6btLfUNXbvSvX/+R2o6B AjjgONNxzozJ1TXcmYniDN9dBFItlBS/YkEXyapFPRFp7BLLmlMSvAFcPt4eAJycVJOT iwE753QBiga65LhckzZg6EttP3QQvH8bCF3qk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687976415; x=1690568415; 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=M7aFeBqA+iPIGCr/uPGvnmE94Z3FPGe+Ni0JLr6Li2k=; b=aKzzzRj1PvJvC28N46y8QI6zd4Fv9Fbmv43HexisEEKM6D4+3e8MZIM7coaR7iDWX8 T7V43/AlkdxyyZzNLfFWVr6nO+S35xTm9XqJXSMlkhQ0Xrl+N+QpyzchoLJ4A3j7FT1P la7ANuO4iJ96HnzIOOAsT+eQr1lWBks0OmcB8bFaE05FTgRtDlFQQMCxsUxSYhwsgDJG iBzV7HQ8hI59vzOIOr+AG/Hjt4oVK1OYc/NK2JTWiRg/Ose3nf6htmrYrC9Ikji0S73E sJXENBZzw1BuNnmXKzyf3U3KOvZBZLNaxxj7wk/4oZ3zS1ywN+lQ6LCmaHZvcKr1LZMd VV5Q== X-Gm-Message-State: AC+VfDzEtrFrwLUq/araGd7eeQUvrSA3sLqUQh5x9uPzi9Btyo7XWrhD JnIEpi7k+2UeTZYsiBlEqza1y1o3mQdRk5InnIhuEOiE X-Google-Smtp-Source: ACHHUZ77L99oNGB6LL9MhAk7jsA5fNDgHaJ5l0YymxGfzm4SwgcI/+DGHeYujnS5TXbZtpC9KIjyww== X-Received: by 2002:a17:906:58c5:b0:988:817c:ed59 with SMTP id e5-20020a17090658c500b00988817ced59mr24051628ejs.32.1687976415186; Wed, 28 Jun 2023 11:20:15 -0700 (PDT) Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com. [209.85.208.47]) by smtp.gmail.com with ESMTPSA id t6-20020a1709060c4600b0098654d3c270sm5949260ejf.52.2023.06.28.11.20.14 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 28 Jun 2023 11:20:14 -0700 (PDT) Received: by mail-ed1-f47.google.com with SMTP id 4fb4d7f45d1cf-51d810010deso4790842a12.0 for ; Wed, 28 Jun 2023 11:20:14 -0700 (PDT) X-Received: by 2002:a05:6402:31f3:b0:51d:a263:ef0a with SMTP id dy19-20020a05640231f300b0051da263ef0amr6175439edb.24.1687976413997; Wed, 28 Jun 2023 11:20:13 -0700 (PDT) MIME-Version: 1.0 References: <20230626085035.e66992e96b4c6d37dad54bd9@linux-foundation.org> In-Reply-To: From: Linus Torvalds Date: Wed, 28 Jun 2023 11:19:56 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [GIT PULL] MM updates for 6.5-rc1 To: Andrew Morton , David Howells , Stephen Rothwell Cc: linux-mm@kvack.org, mm-commits@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 3C51112000B X-Stat-Signature: 4xkng7pip6xdkrh3b55unmbuykbyjrto X-Rspam-User: X-HE-Tag: 1687976416-503724 X-HE-Meta: U2FsdGVkX19roJhHqvZAycy/JN69u6M76n8YgsG8hrBT2zN8//drDpP8RfMY/PP+sbcG3WSExxy41+d+xwDdPbHt+AbGsfZj1DH8uszf1alTCqYkhqjWt2a+Pf7L7UYWuat2Vokpdub8U5rNi0yv+nrbb6Zyrr+PUMcuGS2fxAYNEvb7S5eyXveiAoEn+1SW9la7J9TmkfUAyxgtBGETG4MxswNlT002GfFxnFKwRj7HIxOMyiZ14K8AFbblLSlJRSvSuKtx6Hp1V3UCPakGwBRYLtrqZpZ8iZYeRlvhpY3L91+Al2DBtgDD7R86gPH1j5S4rRx0rzXuS4qLt5MvmN1zkjzQSOTxD96/afsVvt0Yuab2SmVlMkTMwdJuRjyqhE61mi8QBTX8cbsFLWwt+VMJiX1afDHU14Nlo3u9HvnaSDJIEP3AsY9JcrHl258hG5nJxtWX4FU6C/VcCZx1/HOhnkst9YRCt5fdnuPATDmQyPinp1VLsoGTXtQFd+Vk/7p2kqmEt1gT6/A8ibn3iKRjeeKQjqBxZHQmvlbdxdar79Kr4/8QFddGNMDaEVb5e+zRnXpqIXYOTEW5wHGS37YrAOvjMnfogfqavWiFax7WXfGFaF5vg8M8/wTM5NqVLN6XbOH7/EW3MU41duwHOLYzu0RVUDSj2ViB5BZ/hp/FmdIwaCAxBqED99RAvrx2yBH2dBobFTyaprRYCSe+I/7t6UrF9HcLXzPsCvSEFMlw8cnk359YsPaqGJ4tIMUGOYN9282+qqvUGnk+yuu8xmqV5XxOzAae0okSPkLwPtpdYJyLA+l+HumDrcbTsCBTSlb4x4lRZwY/f7tONDpD+ayqRb+3dceGHD4M7YipPQ6npZwrnmjhznlhfiJaiggmY4fs4JMjDnM5sAsaOmAN3KVvZVIah45hq87W26OY6ikIpwiG6hwcTe5KeGCfyRrwGYGBsCXjjfkf9c4kU3b 0/aNvb+A xkLAljncJmmofxLLVhcHgduaF+BEtaxEZr91NaD1efDz59uoJlJHpZZZ4saaaPwHFpx/Ydp20sjS+zeQjmn6KgFMIrM/25s+GbO8nw78HeJBNBoaV870oFVGYP/UzBjoLo9j/KBbH9PLE1ntatqpTzZAhcsFiVKrPceEPh5wT4l4KinkBKNa7pYKBOMN5KPNgOTDYzQ+AZqFCbCK1dJjfuEBPmHHO9v2QnH8/hkwSGciL8SmTL8pVvoD8bro0ctdmii+3fLd9x4Ru9ZHLSt4nssUo+qiLD6+PLQjwB6mY14NKdPB/H1sV6147GFcEX//81rlQELgR4pfZSq3dsEcf4IMB8scJ/SJlpI26emCMoo13c7gZRjoqxDMEiTStMx5KH3UXWaRkcvsGjy1+1Xl2jcV0RUe07s6hLoqmWjbnqlOYe5RbFOyv+JRZw9URPz+ezMbP7Av6eYjGtSQQem9LwAxZ0BHWug6XF4TFthS4+4GqBqewRAiDvz44YDvlC/KXfGhcwNhKnGPNVGXBIE1AKu8Qyu9CBS1jSX3mYDZMqEJV3aO9C9xrBs0Tnw== 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 Wed, 28 Jun 2023 at 10:27, Linus Torvalds wrote: > > So I think it needs to match the comment (and the try_grab_page() > logic), and just basically > > if (flags & FOLL_GET) > return try_get_folio(page, refs); > > if (is_zero_page(page)) > return page_folio(page); > > folio = try_get_folio(page, refs); > if (!folio) > return NULL; > > instead. Side note: I think we should just do the "FOLL_GET" doesn't touch the refcount either, which would make this all become just if (is_zero_page(page)) return page_folio(page); folio = try_get_folio(page, refs); if (!folio) return NULL; but then we would need to fix try_grab_page() and gup_put_folio() and friends to match. And any other cases I haven't thought of. Long long ago we used to have the logic that PG_reserved meant that no refcounting was done, and that automatically handled the zero page(s). But that was removed back in 2005... That old commit even talks about this issue: A last caveat: the ZERO_PAGE is now refcounted and managed with rmap (and thus mapcounted and count towards shared rss). These writes to the struct page could cause excessive cacheline bouncing on big systems. There are a number of ways this could be addressed if it is an issue. It's commit b5810039a54e ("[PATCH] core remove PageReserved") in case anybody wants to do some historical archaeology. Linus