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 8F6B6C5B555 for ; Mon, 2 Jun 2025 16:23:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0E74C6B02EB; Mon, 2 Jun 2025 12:23:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 098636B02ED; Mon, 2 Jun 2025 12:23:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EC9376B02EE; Mon, 2 Jun 2025 12:23:52 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id C72316B02EB for ; Mon, 2 Jun 2025 12:23:52 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 7DB67140C51 for ; Mon, 2 Jun 2025 16:23:52 +0000 (UTC) X-FDA: 83510981904.06.BF4F6F1 Received: from mail-yw1-f169.google.com (mail-yw1-f169.google.com [209.85.128.169]) by imf11.hostedemail.com (Postfix) with ESMTP id 9313A40005 for ; Mon, 2 Jun 2025 16:23:50 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=cBVTkIvl; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf11.hostedemail.com: domain of joshua.hahnjy@gmail.com designates 209.85.128.169 as permitted sender) smtp.mailfrom=joshua.hahnjy@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1748881430; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=l6hViexzBOJawxZADAUmG+i5Hyb7f9Zdki0bf4IHNME=; b=O5vqebZ5erkBn8iq+/dilAyolatejdJnhsQhVJjKor4bwUNzvok8DcrhAgbv960ND4Niw5 x7ohwJQSEUswQXee2391J1M8NTVhQsux/8MAfvchUC/IvjtUmvvH1jdwHbUu2DjcKX1l4p nUMdSTuxD0jvd6QcI0RvZJGgz7dLBKo= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=cBVTkIvl; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf11.hostedemail.com: domain of joshua.hahnjy@gmail.com designates 209.85.128.169 as permitted sender) smtp.mailfrom=joshua.hahnjy@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1748881430; a=rsa-sha256; cv=none; b=cjAQ9EhMPZUXnQbrZMEOzIbbDyEKQg7izA3MKWNbVxrHqOvNJd6A42cFEeDag4INXk+51O tczcKxEVeL1zJM3egWPY0NCVPjLR9hvl6m1XTDo02aZhkNL9wX6rTkgkcsqQAiO8dm/nYU mXbO7zfb5sCesFzfz9oVYCOtX5tOdZ8= Received: by mail-yw1-f169.google.com with SMTP id 00721157ae682-7086dcab64bso40967067b3.1 for ; Mon, 02 Jun 2025 09:23:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748881430; x=1749486230; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=l6hViexzBOJawxZADAUmG+i5Hyb7f9Zdki0bf4IHNME=; b=cBVTkIvlh+EJhoOywGFxoTtAaBr6P/Xhssdqt2YZJfxqdsUhfHA49lcsIJBMMcxd+F Zu+afxAXf0BPCbRuhuNlIgfHV+wNT6bzdnMj2Ujc0cwkhD+PzXhewt2OuKI1HdaJAGdm 2Hf3Yw6EGUrkRLsKK1V+6PrSmulFFQl1kUFs0HuhBjL+puOa5d5TmMitJsS+CSgpIk+g nGh1e/BZQT6KJ9F7nPfFakT+aG+rcgtULKAM+tjQpXtFwV73upHZ5CpXgOUzgOmiMKIv VlYVDtpkCKbLbql0XO9YBWoUtOSw+iGUwE8qKxI+VfUYmVjmoR5He9evDghjoKLJXJEV cLxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748881430; x=1749486230; 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=l6hViexzBOJawxZADAUmG+i5Hyb7f9Zdki0bf4IHNME=; b=QmGRUt436DBt/qFmnPP4Ew8efhNQeG1ZCRITvyrUMZJT29FDCQigNJjGzItinFSQiv CqoLewEUWLanxqE/5ac0f8EZvyjKhHkH5cyM5u4jgP0PLTEi6lNowrCeJNP9J8/Lopqm 9PQK5a82AKcQvpnz4JSlb53ItfFt9tEDM6Tgsj84b+R5fy8eLez3miAZWsdFsHNu36YJ HlChPI3kR9fJl7rMGJHp5dIsfDp6gQBianTiGf9GZ5ialmZpdWQ3HvVbrGLHD4zZ+8+l c6+Cxav6zHjF2RudDB4HhpG8R9Xl49ukaOJsnsc1pARV2sRIjm6OMTmUHqKA++zUx7V2 Opig== X-Forwarded-Encrypted: i=1; AJvYcCX4Wb0o+kymsMH6Vf7+YvcWBhP2QTuGX3J69HiLmR75lKPXymZcjzYPsklhhR9rNAeTGHgPdDbS/Q==@kvack.org X-Gm-Message-State: AOJu0YztNWUN3ovmnfm10IWSp4ZM9ftJeG9Mfx4X5DY7WPMx3GsaaHGo MmTowyKR22okBmZqhnAGawHE0fq0YKLoCPEMnCL1PeIe7BhSK/+4fgvk9DBFuA== X-Gm-Gg: ASbGncvsOPXm7B4ZbH2yxsVRtTbdXVtMdjaS7COvsJytrDZYekLyAQdTx83Cnt2oWY5 rVQBiXoncFhUCLTkgaSPP4KLeMg36PO9WEFmPnGpP/KTjwoKEiVVC2NQjz7ADjYjBTGSkG5bwA/ bPTGR1Z5lFFPORhBY0kLFm6O/wQiRXJmb4sYJmKKFScSAEnZzO8YOHqaU0SD/8fRuOwASbPPQ2N NJ3uHzNlS2qdjowBp3fijexzeOZNpE+jOEznnvB9rAzS08J6CY/svMTsjn6c5JQTn4hvKeSMNpH beK2zweRBBoCVYnzVcDW0KbDDF4b/NcgQ0WJrcf4wC5iTV4= X-Google-Smtp-Source: AGHT+IFhg/cUFp+Z5nleh6zqNPQkgj7/iV/9zMKVm808PtUFq1TWffftuwjIYHM8E8ba7zLCiBhKWg== X-Received: by 2002:a05:690c:67c7:b0:70e:7a67:b4c5 with SMTP id 00721157ae682-71097e67ffdmr118360997b3.36.1748881429609; Mon, 02 Jun 2025 09:23:49 -0700 (PDT) Received: from localhost ([2a03:2880:25ff::]) by smtp.gmail.com with ESMTPSA id 00721157ae682-70f8abee777sm21191637b3.40.2025.06.02.09.23.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Jun 2025 09:23:47 -0700 (PDT) From: Joshua Hahn To: Andrew Morton , Gregory Price Cc: David Hildenbrand , Zi Yan , Matthew Brost , Rakie Kim , Byungchul Park , Ying Huang , Alistair Popple , linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-team@meta.com Subject: [PATCH 2/2] mm/mempolicy: Skip unnecessary synchronize_rcu() Date: Mon, 2 Jun 2025 09:23:40 -0700 Message-ID: <20250602162345.2595696-2-joshua.hahnjy@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20250602162345.2595696-1-joshua.hahnjy@gmail.com> References: <20250602162345.2595696-1-joshua.hahnjy@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 9313A40005 X-Stat-Signature: id6wjpjh8z7efeg5eq63hxpfw1mpwhww X-Rspam-User: X-HE-Tag: 1748881430-663170 X-HE-Meta: U2FsdGVkX18bLoEjY3aOBjE8fB3o+O92otKR2rv21FfEl1b/VybHGiaW8t5ODJiAd3bw+BViLFQRON5JhkQAC87b95YqBdFCHzOkl76Wx6o1H2vXksvJi1ts8zlGG6FukB/jAiXS97lgM6mjT/+FYx5NAUVpGJ6ENeA/7VBFAJOjslsPmuOZnWEb1ixi8y9S4cjTmdrqpks5chI2DtmtlFFtMEOBfhngP/qtc72Y71VW4sZtxap9/KY7XKHbelZplRTzZxpMEErZ0pq3ByFMiXbkcWyeyl8lDhIIbbbdkNwAPQoa8pvkaJV8jXTC+yDSA4xbgZZgvRYbSIOWU4E/u9/iqjRf2ml/d1IbeRyG9v61X1bjJfz36TEK5yg2UdlqfrE6JLiF6Y4qNHUoRrfywNutlFQrMa4UyxSK6Mu/t3xstr5g3yw5kFt9MiB7MhvYZV8HLtELhfhwqSgdSNT/T6FU5apfMHC62ANkFnI67JC5ZnDHpc3Rv1Ijlezv2gs3QGRxcXhWVvFbyW8q0j1soTYD7j23Kt2vifEa6yPmjjVtLKWJJcKIVP3aA6k1fIiPKXObwEq6eFFXbX2jnjYTmLRlx+JafT/0yU9ZiE8oZ+Ye9yhrCrQiITQ0UNmfyNMH4vDTGRQ3djRJqvK8ZuQ/vyOPGM0U9FfYfpb2K7RvrWIp1EV4ZCVe2/slLQeE3ApKdadxlrqI0zT1nsXjERm/aBuE5pUXBt2/B8et076ZyPuBW60ve6rj/DIvpmQ32pscsauheOLRiZxEqWWJHQ4RKmiuENLEBrYag/lNuhfNaiJ8/FzsXScx/q1VFrXil7enZxZSFoZ9JPFj9bZGQcu36r5da9Wl2mQNkROQZusRvNM5aKg7/6CND/FxnVhJINIB+pFPQtSSCuRS4myKMDfrEbBkuSap2isyl/WKW7KECTvkHCjglb3tLzIoctPz0EcTOOeiXhj5S5xGBqgbWmV vfAy63qL 0x0Fjv8B8+TfVjJqW5QXRGnLoymOpCcq6GktZeYxGqvXCg/OiSmzIlOtbJmFXJvwZ+rqqjrb1Z7pjt9++XuWWJVTeKQNKwq+Isk6Gbkn6+uUVIu0IoeH0g3IoLHBxDR/wKXpj4cRdspl3Ri7L8svWimBACF+xFp+0SoUhOJj28sl9Ix8ZZ5MBsjRY39hZbeMs4FTjzy2EMBlE38UYWWcCkZGJUtDlk+hnl8sPrP431XcMha5CXhLcEE7l9tfHEVQ1fEoU3+OX76gzUEUC9jSVrwQFjc/3NKl7+ZePe3vYtQ+ErvP0p44c6GY3uFs0CcVHTssQW9MlA7rASz3pO9bwXVDaAY3MAKqgCEBob1n+qetjFY/F+aot2SIKzRdSrH14RHKBYi3UEQ711CjMR10L7CfCjQo/u+KvbLJ/nfvauvvDaEJt/uGjf9c4pQKh6CjU+9usRX4zd+Ygp/4A5X/xALJNGNwkMwOjG2rWgmHnV0dtYVmmrv8VBMWiTSjGluK6pAtVKYx2RcEoc5dX3cqtYL1poN1joPsTPn0L 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: By unconditionally setting wi_state to NULL and conditionally calling synchronize_rcu(), we can save an unncessary call when there is no old_wi_state. Suggested-by: David Hildenbrand Signed-off-by: Joshua Hahn --- mm/mempolicy.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 3b1dfd08338b..b0619d0020c9 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -3703,18 +3703,15 @@ static void wi_state_free(void) struct weighted_interleave_state *old_wi_state; mutex_lock(&wi_state_lock); - old_wi_state = rcu_dereference_protected(wi_state, lockdep_is_held(&wi_state_lock)); - if (!old_wi_state) { - mutex_unlock(&wi_state_lock); - return; - } - rcu_assign_pointer(wi_state, NULL); mutex_unlock(&wi_state_lock); - synchronize_rcu(); - kfree(old_wi_state); + + if (old_wi_state) { + synchronize_rcu(); + kfree(old_wi_state); + } } static struct kobj_attribute wi_auto_attr = -- 2.47.1