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 EB383C5AE59 for ; Tue, 3 Jun 2025 14:31:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 699D96B0487; Tue, 3 Jun 2025 10:31:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 670DF6B0488; Tue, 3 Jun 2025 10:31:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5872A6B0489; Tue, 3 Jun 2025 10:31:07 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 3924A6B0487 for ; Tue, 3 Jun 2025 10:31:07 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id DEE02BD329 for ; Tue, 3 Jun 2025 14:31:06 +0000 (UTC) X-FDA: 83514326532.17.0D2E763 Received: from mail-yw1-f180.google.com (mail-yw1-f180.google.com [209.85.128.180]) by imf13.hostedemail.com (Postfix) with ESMTP id 1904B20008 for ; Tue, 3 Jun 2025 14:31:04 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=cLuzTp1h; spf=pass (imf13.hostedemail.com: domain of joshua.hahnjy@gmail.com designates 209.85.128.180 as permitted sender) smtp.mailfrom=joshua.hahnjy@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1748961065; 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=zoEEammRMNXgpQPQrPR9ZfAnkri+pzRkn1GdyQ+ROtU=; b=Rm59W3fiM7gD3ve8DN4tqp/b2sL5jnlBgvT1xzKpoGs0LAjjHvdjHHFlNxXeJpOn4TEe3H TfvHuUiua5jCWmIUcHML/MG1fewILZGWizRnfAWFAbLhr7noikJpA9WFti8bo8OUw+D5iK W9wMSJK5r1i61pLYqSScnk438S5WfL4= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=cLuzTp1h; spf=pass (imf13.hostedemail.com: domain of joshua.hahnjy@gmail.com designates 209.85.128.180 as permitted sender) smtp.mailfrom=joshua.hahnjy@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1748961065; a=rsa-sha256; cv=none; b=v3Vt2WhG1uHESHm1PACDaVeZ89uFlScLVVTwe0o5bQyw/B1jq39ppxlJ8DZ7wn1lmzNtB5 uIOznpIuQoKx0Gz2qS5x37f/4La57ZsjqsAalCP5MKPkxKJcd7RS3AT4HXVefaJ/Y9f2o7 WhkEfVVlRAsIfUPm/Td0ydfibsxrWpA= Received: by mail-yw1-f180.google.com with SMTP id 00721157ae682-70e64b430daso50384587b3.3 for ; Tue, 03 Jun 2025 07:31:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1748961064; x=1749565864; 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=zoEEammRMNXgpQPQrPR9ZfAnkri+pzRkn1GdyQ+ROtU=; b=cLuzTp1hAMp0zXRpY7UDkEGxW2V2XFgphFArUu5gsqAQNdgWPro6gG/xmVJ3qGmzzM zunBwsGP+upZfHHHG+1kBSfWUopdiCORZM2RLBs0A09JCoSQAu7M1vrkF4mCEenPIXYw 3vr+lfExlVfS34F08dIzc50naIT0f/E9iAo/pmQAkh0tum+jpFG/xFKh4WW6lB/rctVU Kop+hspMCNp/JiLKYzSQTCHJj9ii50YIsFt1TxBsfuZpxEL03KXpN3PyxxHu39cHryUV obrcEVEA490uJPoBXAR3+zQQxC33SAoDiZ1EL1NbInlwSeMCyA3l1VxR2ElkBCWq1Si0 1AmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748961064; x=1749565864; 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=zoEEammRMNXgpQPQrPR9ZfAnkri+pzRkn1GdyQ+ROtU=; b=jdr1G4zo7wPW6mKfBTa1VVc17GIi8fCxhr99Y8dTgpIL2CDTJe9Cc/WNU1ic9QDUsV 4QhJ6iQ5NJ0AiFxxdbulrj9FnXvad4hk4utxmT9KqINsBGismvD/R4E3GI8BxUgEU6uY OLAnhsvhAw7rHWShlDzo/HsfmKCVGbuL6m4lHtMq/t/pGuyDAk495p4TmOlrLTV6q4/7 6x2EmwjtIXOHEhrLsr8zCR69ltn1MeEKtEH8XpSEstnhUpQw8Zcv+lOqXZQPlz8tUqw6 Ro7EnddRXSoiWs9A5mBMwUhs7enSIsQq9WIqycqodyn+adaJyNyrB3iYNYsGAmvjwvec +wBA== X-Forwarded-Encrypted: i=1; AJvYcCW9irH7b4JD5iXiHahMEQpeXpx6SQdO8X00ejp/XlZ1XTCwqN0qO9SNpjHmAJi0rhnvVm6zG0tOBg==@kvack.org X-Gm-Message-State: AOJu0YwmfSZlDAAKcYtWFwAdhKmdPUpu2REG1a9u5e9wjnaVJFNG2UhO ThnCnQiETPImrGPcSCg2YBq+QtauXHv8y05huYD78E2t60VicjgScToH X-Gm-Gg: ASbGncuyjutxfLPGxrf/omZ14Zd5TvjJPBjG4ynGK6/n0ukyOrelm+200K0b4HWVKO6 xWIXDExD7H6SimGz8sMhsu7bAf+Uci7MWQMNB5TUQoXhMCSCItXYxt8jdcRsZj8up8O1t4jSTAB vFon5vvAfFa0HY6FVJ46gQ1BrFvDYp5o3fjiP+uEKY3Qa1fRToHEAwgjEGiYfD2pofAUv1xF1xt XO2ujj813Pv6GwfZ4RN3RWbzcq8RpGxnaKdsywrnTYJiSZlWHL+Zsu2zHfw6+US7KItVrMXl2X0 OEORUCLuvdjC9S3l2PxmjQNv2bfpAWucjm0pEE2p+UtjxZigjls= X-Google-Smtp-Source: AGHT+IHsk1RcYi7vSjqqd/5hsrEkV88SxfHjr9SD115HXad5863u6FxD3TtpgsUoH/o6Jj1rWrIkuA== X-Received: by 2002:a05:690c:380e:b0:70d:f47a:7e21 with SMTP id 00721157ae682-71097c2a902mr182608127b3.1.1748961063965; Tue, 03 Jun 2025 07:31:03 -0700 (PDT) Received: from localhost ([2a03:2880:25ff:71::]) by smtp.gmail.com with ESMTPSA id 00721157ae682-70f8ad2439asm25380787b3.125.2025.06.03.07.31.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jun 2025 07:31:03 -0700 (PDT) From: Joshua Hahn To: "Huang, Ying" Cc: Andrew Morton , Gregory Price , David Hildenbrand , Zi Yan , Matthew Brost , Rakie Kim , Byungchul Park , Alistair Popple , linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-team@meta.com Subject: Re: [PATCH 2/2] mm/mempolicy: Skip unnecessary synchronize_rcu() Date: Tue, 3 Jun 2025 07:31:00 -0700 Message-ID: <20250603143101.1231739-1-joshua.hahnjy@gmail.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <87h60xtw0p.fsf@DESKTOP-5N7EMDA> References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 1904B20008 X-Stat-Signature: xbx8k83hbtkq89p4869yhouxipr8j5dm X-Rspam-User: X-Rspamd-Server: rspam04 X-HE-Tag: 1748961064-193536 X-HE-Meta: U2FsdGVkX196JVXLVrcMzMoxmECYarOFYP8mK8WomxF3w42J8jdgaHw82HIESzPdZvmHU941hkWa0n73Mkd8M+u3UaIkJFYBc2D5J9w44gv1WUZKYRQtC59dceMxFzGYOJIJcoP7jn8+BmrJASq1FPD6w9J6b851lXxrF/N++nE9hgVA/pRrzJ4/ETaxDODV1ZDnsFC09GFGe4VJnWIC1lws2LcrAttlYu8+NnzpXo/BeXoWgQacS1ueFGKGSJmagAiMWTRfiwmju1ckD96nsdwZ9hrY3SY76rMnPbNSjVEMzUWeFG1CsxBmAvSXRKp7dZN7bOVgMxOFO3Sf+98KOgHwDyXmxuvwgNCdnl5JtkjtHLTt7AmKIBdeF+iLTt46mpbiNTz1Iv7tO0bcuLbOL4NZl/+C5Bh2sXndvkfFnruFSbIiF1fDqx8YvIa4VKu8Jk6Xgwvwv9UHIOVM5CLik7ET8zqSEeey3IyLE2MFLn0btTxniebKPrRTiUGZbtGmZhqtKzxho89I+qHwHATy78E9040kYtJyX5YAdf73gAKc2xHKEDG/wRtIFy5f5TGK304x+G3ThGhPhcG3ljo1iEaT4moizFFpTzQWz+Qc/VelAeFnTVBV6MmxoNn75mTPWBD9zoFE4PVERuQpSL/gap5sP0Z7TOGRPxsqt8m9RvSfCH/thUgXqqhaB6iPpDb0l0+oOeDoou/SfJZKQaxjsBdhNcYi2MCqiVbS+vSok2fFa22f7ayCXCsVXZbWrmCIWdr6Gr1s0ldLcnUOXFuLg2qjm9jAHaMZ7ly1+sSLVJnjqlMiwtlZtLXu88LB4vniRqsULYXXwJ4JVDzKnzqkxZiSSkvhktQea3SibSy01zd8ertE7c++OuJycf3Pjzg2zerwKkVvtCc582tn1C/NJsQHZtBNL7qCglt03g4KScMI7HzxT4TGFVi3sus0g48L3HsItUpHt420pXlTi3A pza3yCn6 pGs/EwwM8CzrZZAh2T0ew1+j/H3aa/y5qHHOu2e9D/guUBbn1KyFq6ErtHdQKRlJxSH0K8G1eQp30ypj0NPVIqHRAAyQtHLin7+Md9CfHrCLSkXgruc6wT0+Iu74/awKT0p4HhB/qSGksTBjO9aAj57iaJie3Ezp1dePOPMaA2ezeGp5/qSDIZRYJ0SOdJv2fguiwlsz3FivDWnwpB3Y/FdaGYVg5Jdmgt9VWnxWJxNdkDjpL6YDJj9ArHLGAcVyGB9i9/4Ku2NylnTrFG5dcWaip4qBKm3kRMAMX+z+YnkRFdSmM+Jn2h7GMybXkYxarArDHM7YIeAivjKJcJ5BNhzehJce5hByxeRFMqCQ4QMdsfBXtJVPPudIhJ/M6nBgrH16e2L0p0cjGbCg47NWmjIS9e32kEKJE2Aw2Ga6HTltDm3k76Qs5yoqNm3Y2YBpStoKRT3dpnbctv8yAGFDwajRpgVgyoZ5l3y3DsOjbrWnkuGL3tSuxYEZSZ1YqUMI3WuAs7Ai7hR4XuoaxZFbvqOke+bV5rnHb1l6pLZ183xvVXFn9d5EwsFKP+g== 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: On Tue, 03 Jun 2025 10:10:46 +0800 "Huang, Ying" wrote: > Joshua Hahn writes: > > > 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. > > Per my understanding, in the original code, if !old_wi_state, we will > return immediately instead of calling synchronize_rcu() too. Or I miss > something? > > The patch itself is a nice cleanup with reduced line number. Feel free > to add my > > Reviewed-by: Huang Ying Hi Ying, you are correct. I was thinking in my mind to write "save an unnecessary goto" but my mind must have slipped. Thank you for the catch, and thank you for reviewing always. Have a great day! Joshua > in the future version. > > > 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 = > > --- > Best Regards, > Huang, Ying