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 86990C7115A for ; Wed, 18 Jun 2025 17:41:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 42D2F6B00C3; Wed, 18 Jun 2025 13:41:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3B4556B00C6; Wed, 18 Jun 2025 13:41:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2357C6B00C3; Wed, 18 Jun 2025 13:41:31 -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 06AD36B00C3 for ; Wed, 18 Jun 2025 13:41:31 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id D1DB2807D3 for ; Wed, 18 Jun 2025 17:41:30 +0000 (UTC) X-FDA: 83569238340.09.63D9462 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf26.hostedemail.com (Postfix) with ESMTP id A3A7914000F for ; Wed, 18 Jun 2025 17:41:28 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=BOMFxKIf; dmarc=pass (policy=quarantine) header.from=redhat.com; spf=pass (imf26.hostedemail.com: domain of dhildenb@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=dhildenb@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750268488; a=rsa-sha256; cv=none; b=ex9G4UtgMPJ2xnZAYRcIPJ4ARuEiMykKCKOBfMr+Oqq7c1z5OuNrspj6SzAxbeYuArhYP4 GPVgCSHvg8PEFKZ6z9QdCQyWSZ6b3veBfmr0d751qBWdtsMF2eEDbHwWLWJUKS/0RZXz3l vMTfxSZ53ARIPsVO8rkB4ZCVPtDSxlk= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=BOMFxKIf; dmarc=pass (policy=quarantine) header.from=redhat.com; spf=pass (imf26.hostedemail.com: domain of dhildenb@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=dhildenb@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750268488; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=UnwUSh7o+5ZmaRZCKb6UInkhBSWZlCwshIxY9Qz5Cgk=; b=fNorBypez2Ko37p3kTN89rXU0pAtd3fJ7w65zT9IuG3HWxaLho/iLjbhBu+R2agFv3krxH 8KgAr1gwN5K41z4CNCw8G/pdN7FH7Cc1lVPTHrEBTOjPM8zxTzq3GXzzPWLY//oUpuZ9+u meiIh3uyhuqsoiChoxkSVWzHao9CfE8= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1750268488; 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=UnwUSh7o+5ZmaRZCKb6UInkhBSWZlCwshIxY9Qz5Cgk=; b=BOMFxKIfJofafnqba9URtCEvIlSfl8dOfQx8EbQLIIv72LK9jo6w4Iu6xVAweFRdxG3OgU iCmp3tGg9Fi57A9FCzeEV9+JB+4nrO/W0dy95PA3zsgwzZsOccVNHlKxj9ttOajgfEZ8n3 Gfe18fvPwYn1zic1IAtrlKncFdK2hCM= Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-128-xmnHjxGOMLqezvn12JIIiw-1; Wed, 18 Jun 2025 13:41:26 -0400 X-MC-Unique: xmnHjxGOMLqezvn12JIIiw-1 X-Mimecast-MFC-AGG-ID: xmnHjxGOMLqezvn12JIIiw_1750268485 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-4530c186394so32133725e9.0 for ; Wed, 18 Jun 2025 10:41:26 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750268485; x=1750873285; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UnwUSh7o+5ZmaRZCKb6UInkhBSWZlCwshIxY9Qz5Cgk=; b=OvBlx6iggBgTZNmJJLHNEC5du9WK18KLU4Th+ZOKcvFSc8dqL3l8wdmN3Xv1xWcvHi gsNiNFr+hmsMLJhel/SwJnnnHr0QUh8Y+c1oCNz8w3VJWxSUK1JfzcttuMn+LklPk+7w JSIhzs9ae5WL7v108eJmyOF+E+osNGoRvytEu9NlPq3oQank3xqLNMl9k8C5iRXnCrtu BBTdvNP66vQ//Rsssi+wNB+gN63uRNxOH7tjmqq2My3O5EwSbVMFI63blluYYjHNpwlr kUtX54FJL7cOI1y5qkZOPYpUEcmfgJ65xPPb32MHNFqTEwfaWPlZgWvBPety5QevwnVN tsew== X-Gm-Message-State: AOJu0Yzaa8f9tJCUY9qMHMk5tCHAXqXpPYQGh8d0W+7tZskT36oVmlJ/ 95azpikAXokfLh2jR6KwoI/jKemHgJlkDbj8wfibGwSpu2NeyXWgq3U0TCMioF6vqufyyiAG6uk y03wyaH05avV6iHLIffQkwTuBMkjeHncxZ34gjQ9uvRhRQwYZMLoc X-Gm-Gg: ASbGncsOdHc+VsFRsca85KbP9v1P/Zdj2d2Dew1/tTdu90A9CtPa1qMWkgGGouX6O9r YySdp0HZ6CsC/q6zewDN8l6U+k/XnWrNfidg2v/WHVdnB81r08MlS8QHf+AG57moudcvBuptCtf SASrW71vxqsPn43dOpZiz7sFo7NvdB8/LZPJGchF+3idMG/gXeTF0SQ8uAfouarpu99qxW/gfNt H/Xm9VeP2cCh9hf0digd2ZEzB7Ib4/tnceJudBentVeYXKGE89kRUNhW6pGjIGqnJ9HsVhPMgOS QbXkX4HzaFZEP4MSpcMcsi3yOZ2etTCbdYtfaebt3FTrCL2tGqBCD48Pz2wp2wNk6fu+CE5EwR2 DPYTJGw== X-Received: by 2002:a05:600d:1:b0:453:5a04:b60e with SMTP id 5b1f17b1804b1-4535a04bc8amr21843065e9.26.1750268485376; Wed, 18 Jun 2025 10:41:25 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEv5K+zuY4+JCApu2tViRQi8tnrUP4BMaDADA459jpWP1i37cwdJ2pp4j+WJZa019DgSPcT4A== X-Received: by 2002:a05:600d:1:b0:453:5a04:b60e with SMTP id 5b1f17b1804b1-4535a04bc8amr21842675e9.26.1750268484986; Wed, 18 Jun 2025 10:41:24 -0700 (PDT) Received: from localhost (p200300d82f2d2400405203b5fff94ed0.dip0.t-ipconnect.de. [2003:d8:2f2d:2400:4052:3b5:fff9:4ed0]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-4535ebced8asm3463925e9.40.2025.06.18.10.41.22 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 18 Jun 2025 10:41:24 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: linux-mm@kvack.org, linux-doc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, virtualization@lists.linux.dev, linux-fsdevel@vger.kernel.org, David Hildenbrand , Andrew Morton , Jonathan Corbet , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Jerrin Shaji George , Arnd Bergmann , Greg Kroah-Hartman , "Michael S. Tsirkin" , Jason Wang , Xuan Zhuo , =?UTF-8?q?Eugenio=20P=C3=A9rez?= , Alexander Viro , Christian Brauner , Jan Kara , Zi Yan , Matthew Brost , Joshua Hahn , Rakie Kim , Byungchul Park , Gregory Price , Ying Huang , Alistair Popple , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , "Matthew Wilcox (Oracle)" , Minchan Kim , Sergey Senozhatsky , Brendan Jackman , Johannes Weiner , Jason Gunthorpe , John Hubbard , Peter Xu , Xu Xin , Chengming Zhou , Miaohe Lin , Naoya Horiguchi , Oscar Salvador , Rik van Riel , Harry Yoo , Qi Zheng , Shakeel Butt Subject: [PATCH RFC 25/29] mm: simplify folio_expected_ref_count() Date: Wed, 18 Jun 2025 19:40:08 +0200 Message-ID: <20250618174014.1168640-26-david@redhat.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250618174014.1168640-1-david@redhat.com> References: <20250618174014.1168640-1-david@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: jZTAzXWyS03Tjn_86agnScW3qihNCHw8WzLE8pYJKhY_1750268485 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit content-type: text/plain; charset="US-ASCII"; x-default=true X-Rspam-User: X-Rspamd-Queue-Id: A3A7914000F X-Rspamd-Server: rspam02 X-Stat-Signature: rgsq57umswh83x5cezc1ouek7w9t5cnc X-HE-Tag: 1750268488-571579 X-HE-Meta: U2FsdGVkX1+782flqpOC1kdMlTJN3m+y9ArDM0tSHq/r78/RuUwn7f1cEuS/qECiDcrl59sJzRZiZttBGv82cgC9KZn/l/eNlfoODUXLBTuHJInjr1Ezue3Ig4oNwTe+ZCfeo+2Q8jj0ZHHnU0eBmU4O0GEuJcUJqJfdZXzGeB7wZmzpY+JZs227gsJ0mLB0VEUJMMpXI3kpTQkws8G9AGFglKKHDRYIEqziQ78enWBXTpYhVoAWQ9SY5KlqmJNi+fHZNG2OxR5KR3JNrK6eQ6/ftf5NjMcZOVxp19MhprwC3gDvVFZiQUY2WlF3zmQVMPXB75I70K8I6bDdUduBlpPUypd8uQpk/8oPchuIl6k9nycF4AYcYaYzoQ9PpeatmTrutYni1rK7UvAGcRlLPe/Wg8M8x8xyPByke/vBZCC+gCLJgV9OVti3KkB+r4sn9HB3MaSwPlfSW9zzTwUqp6YI5z9ELTNpWfnjFcnwROdpe86zKAXUDQ2lafpAmxVZztgpZH25o6PMMXKpgTbBfm8JGExsOcHgdSTKhEbHjlE/ojgtYpz2mwTx4bmYCPbY2m8mVU3B2bzOChXjsYc4OdR+f7ND/wB8qWcIULFVQyt7cU5gPnlPpGi0aoMd93RfEgk5LIZeBaEWNuudDYyINUF+xSx2tgkjPsEybfxiXGj8tTtlKXnwWAdP346sSOX1w6wS8lJHljWlL44wGFnepJUEYdDz6FLF1OEI49CtsSiqEVP+gaS9TyZx5mSCOSGlCUuyuzi7ea1mVGDsipvxOJn/9GoBz2XQd4XZXTMHAAk92o9brgZflkKrL2BEYfNMlxDu2JKXG9FuXetAtkixmzmDYpbXjhhTX8DEvypo0J3DMRKouLIPm3edrTDFmfE4iXzBKYXdDFf0zQuCwdJCrhhn9YAkPJlzspPluEDYdNa6t9zNiZh0SmAerxcEYZTcbPFOSkAQXSM4xi8YCO/ 9Tul2jSW wPzud4y6Ai8p5MwR2iiT8mrcT+IBWT0zx0RHIaammJL+9ycOw1Lc90g8GQawNrlFm2MjTJ9LO14d+VdzKB/xipoLVu8MRID8zwRtnWEn35biZ5rbs05I4aOX16mdqOuw8sHZERpk4ZL8InqPgHpCCi1FwM2HOadGYvZC3Kts0P3ISL0qJJ5X+2E+Qf3CGXfOb5IWLBQ5RqFtEX2WxICLzfU0oXIjXAhmeJPmUOTkYYU/FwI+YoNIvLPBr7e3hSzXykCQ9/Yda+1NzitjkxBnXVV3warusstjo6jEp7vnfTzUZl9ScJ26rDg9do9GWGDVHQwzSQE7yLIJDgkO4FvQkKxqXstFRMxIMhdKwFGEFHUKCOnIEjKhAJyO3DwVWXh7qzVPlKidq5il4dHYmKfFReiOAB3Qw3/MMc1ZQneAw+wJMfeotMnVs1MljL6UIHKCBRfJ0il4C/umH5KkApu6oCPPTOd20uvi/2qZkm0n6guDwTJD/7whePi2wK/Odw4esuNksxRAfiFiEysnPqNYlZa/JB76xzptY9BseDotVoueyoFxCCFRUWb+CY8VtD/DDNUH8r913/V6+xAwxjKv1Ufugf+iW7S5a5BRs 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: List-Subscribe: List-Unsubscribe: Now that PAGE_MAPPING_MOVABLE is gone, we can simplify and rely on the folio_test_anon() test only. ... but staring at the users, this function should never even have been called on movable_ops pages. E.g., * __buffer_migrate_folio() does not make sense for them * folio_migrate_mapping() does not make sense for them * migrate_huge_page_move_mapping() does not make sense for them * __migrate_folio() does not make sense for them * ... and khugepaged should never stumble over them Let's simply refuse typed pages (which includes slab) except hugetlb, and WARN. Signed-off-by: David Hildenbrand --- include/linux/mm.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 98a606908307b..61da588dda892 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -2167,13 +2167,13 @@ static inline int folio_expected_ref_count(const struct folio *folio) const int order = folio_order(folio); int ref_count = 0; - if (WARN_ON_ONCE(folio_test_slab(folio))) + if (WARN_ON_ONCE(page_has_type(&folio->page) && !folio_test_hugetlb(folio))) return 0; if (folio_test_anon(folio)) { /* One reference per page from the swapcache. */ ref_count += folio_test_swapcache(folio) << order; - } else if (!((unsigned long)folio->mapping & PAGE_MAPPING_FLAGS)) { + } else { /* One reference per page from the pagecache. */ ref_count += !!folio->mapping << order; /* One reference from PG_private. */ -- 2.49.0