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 E1769C64EC4 for ; Thu, 9 Mar 2023 19:35:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6540B280002; Thu, 9 Mar 2023 14:35:02 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 6045B6B0074; Thu, 9 Mar 2023 14:35:02 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4F3A9280002; Thu, 9 Mar 2023 14:35:02 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 42BE76B0072 for ; Thu, 9 Mar 2023 14:35:02 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id EEF5C12120D for ; Thu, 9 Mar 2023 19:35:01 +0000 (UTC) X-FDA: 80550362802.11.CA4642D Received: from forward501a.mail.yandex.net (forward501a.mail.yandex.net [178.154.239.81]) by imf21.hostedemail.com (Postfix) with ESMTP id E5EC11C0019 for ; Thu, 9 Mar 2023 19:34:59 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=ya.ru header.s=mail header.b=FU+zF845; spf=pass (imf21.hostedemail.com: domain of tkhai@ya.ru designates 178.154.239.81 as permitted sender) smtp.mailfrom=tkhai@ya.ru; dmarc=pass (policy=none) header.from=ya.ru ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1678390500; 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=x5Mdnjs936NhBEC2nIU/NZu/xsSl+ksx91PQmbqwdfc=; b=YxHeAls/MHTKqTiL+HN5Bq6dxm6Qqr0IjGxN/QgO17F1r/OWUOju2UW82Cahgi7HSsZWnW Aoxssjfs5xMvtp5PB93MQgkNS9CId6wb7/h3FDn/wCfBFK0X6AKQB4OHgHAsV/CONQtoHt hZKaCwz/hMAWssvfQdh/3jAwPTIMa8c= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=ya.ru header.s=mail header.b=FU+zF845; spf=pass (imf21.hostedemail.com: domain of tkhai@ya.ru designates 178.154.239.81 as permitted sender) smtp.mailfrom=tkhai@ya.ru; dmarc=pass (policy=none) header.from=ya.ru ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1678390500; a=rsa-sha256; cv=none; b=jzneWyJnq1bHXOVT6+eYU3M6ucVK+M8AKIKxHSWtYsKtDhB1xuesZXxnDebQiBDJ9CmApy QdJHasYmJv1gmZvoQ0z8c6eMckA2cInezo5afi90akr6lr+WV54HrXhSwcazLkxUK0n8YP J2vgvmSXczZ2Q9M36ayCZ2fkqcsQpOo= Received: from vla1-2f6a8787997a.qloud-c.yandex.net (vla1-2f6a8787997a.qloud-c.yandex.net [IPv6:2a02:6b8:c0d:35a1:0:640:2f6a:8787]) by forward501a.mail.yandex.net (Yandex) with ESMTP id 30F8C5E63A; Thu, 9 Mar 2023 22:34:57 +0300 (MSK) Received: by vla1-2f6a8787997a.qloud-c.yandex.net (smtp/Yandex) with ESMTPSA id rYjOo16bFa61-EkIfarrO; Thu, 09 Mar 2023 22:34:56 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ya.ru; s=mail; t=1678390496; bh=x5Mdnjs936NhBEC2nIU/NZu/xsSl+ksx91PQmbqwdfc=; h=From:In-Reply-To:Cc:Date:References:To:Subject:Message-ID; b=FU+zF845p+MAA1XGsusfa7cQjbs1o3BtyoFg31pI4vh7iPKxOf4WggV+M6nLRL0W/ aMCVDWLWfWO3sV5xAxRHrhb3OFXZde63RiwSzhRry58oMYHkJ7mAXeU1/XCpYSMFMV +cuV0iL7RcLGEjH+bQZpmDmvMuuxghXcADAwMuJY= Message-ID: <853a2f87-7b00-a44a-04f9-53443069156b@ya.ru> Date: Thu, 9 Mar 2023 22:34:52 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: Re: [PATCH v4 7/8] mm: vmscan: remove shrinker_rwsem from synchronize_shrinkers() Content-Language: en-US To: Qi Zheng , akpm@linux-foundation.org, hannes@cmpxchg.org, shakeelb@google.com, mhocko@kernel.org, roman.gushchin@linux.dev, muchun.song@linux.dev, david@redhat.com, shy828301@gmail.com, rppt@kernel.org Cc: sultan@kerneltoast.com, dave@stgolabs.net, penguin-kernel@I-love.SAKURA.ne.jp, paulmck@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20230307065605.58209-1-zhengqi.arch@bytedance.com> <20230307065605.58209-8-zhengqi.arch@bytedance.com> From: Kirill Tkhai In-Reply-To: <20230307065605.58209-8-zhengqi.arch@bytedance.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Stat-Signature: dhcmcptuotsxf7in14b6kbajas4ix79t X-Rspam-User: X-Rspamd-Queue-Id: E5EC11C0019 X-Rspamd-Server: rspam06 X-HE-Tag: 1678390499-260879 X-HE-Meta: U2FsdGVkX1/9dWalGlnTHWl0WmgYEDYkr7OA2u640JvrEfg2b28kfq1j5DykBLFEEz7z6EsWhOKsI5vzUC5y8KXb8ziiz7IsWW6boACO/JFbYVgD9VAsVCRh1k5/jSqeJrxx86jM8dFAeaA1O4knqmGVG4Mz8+gA4XG7hrsPu0Y+vujIB/1et+SRGDFXCBEWWuwkqQ9grp5ruPlvcLiJshDUpWYusPKWKe1EGHVwN+lOFP7RpE/dVhVo7TBbiTBZgZZ99REnWw3G2TwLTCH8fagUVam+LLL8p0NrwXazDiQOk734ct6iTAhGtOtWWhbKx0twJW7It3zuWSLyRuVTSkzAUCCQZBMZDD5xQC44kuI5c2RUJcpf7RZYVkWBN3+NTf3tpdHlKVHiWAMkkjGCti+B3NEbwlE3UqRVqtvcikz0t70sQdPL9gvqw88xvYhe94Su1mUZKqLv1JOMlGgjS7dwRaVi5XZ1RTiOsaOAKvCeHWKTgw8mIeBj+SfZHAP5o6dYW9xgeTmRSiZ8Nsyh/DiCUkUsV46TNDjfLffIOXUA6xgvFX3LRPYEI27Ci9jTEwDZJ7XY63Dc1GZ2QmjezenKSkekrxJKLTgBMBDwqkbMZZTQgYBOhqruhhXaoB4Wx/sFwEoGqwoR9fZSb+g2RjB0gntZ3AUgNaol27I2nBHwQFVG9FLgNad6JswJ/lqD5E/R//k0fph5AJpM2OrbB2S/dUuApqm7wgIvcSgT12aa3qHCLV2iN/VzZAbIb4c8K4j0ph5wH37R3IgKzMJcx7z0tSY2besqxf9wPovIkz/ikArdMWbaZoM31ekki+SgMnygj0bjwJpCpGV+AvLuaCg7y7Feh14Y3CG34dEjFmrBOaVNoxsEApyM163Yqd36zDCdF2YT856VNsFdvak0fzc+FzV3XWhbF1NK+69uB3FuMu4SSaUODrQ/Dmksptir/5Eiwt7O50/15Bc5y8z k1+uvoCj 8gNMnlZUIeyt4TnU57uYo0BDdeohVgn/UCl297yo0k80a9aXv/Yi9wi9vckgrWKGLri1l0b3Ty3ANOS96r5tpUcZ340XniR5SqkcFRxniUYc+bqWDw/CuwA2mosGtaGsHBUl0i94ZhTQbt2N8VlHhtujnQn+iRzm5lJidIZPQG+8SIfaOVIznKW92IR9CrGq2ntqjaAOsogFyFErxEVrMSTKdID+AMZYMB678r/mIkrXn4gEfxQCXEMYMo2y51/olgwyLwojZe8RYVk9ze+D7thZVK+mpCOGz22WuhUjnLb/UUdtPjS8w3Ul8FYsCjxUtosrp4vRNw1XIQ8BeVB5+0g874E+XPU2STls56uO03jqvVwQZviHLLCJAmfOvB/tg0uW/ggcsKa7hxxmcSdYEGMqHP4oYKi3gnGLf7UAy5dYwXq9ayWwNUViw9JKD9iTfx9MciFbpEtwQEJI= 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 07.03.2023 09:56, Qi Zheng wrote: > Now there are no readers of shrinker_rwsem, so > synchronize_shrinkers() does not need to hold the > writer of shrinker_rwsem to wait for all running > shinkers to complete, synchronize_srcu() is enough. > > Signed-off-by: Qi Zheng Acked-by: Kirill Tkhai > --- > mm/vmscan.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > index 7aaf6f94ac1b..ac7ab4aa344f 100644 > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -796,15 +796,11 @@ EXPORT_SYMBOL(unregister_shrinker); > /** > * synchronize_shrinkers - Wait for all running shrinkers to complete. > * > - * This is equivalent to calling unregister_shrink() and register_shrinker(), > - * but atomically and with less overhead. This is useful to guarantee that all > - * shrinker invocations have seen an update, before freeing memory, similar to > - * rcu. > + * This is useful to guarantee that all shrinker invocations have seen an > + * update, before freeing memory. > */ > void synchronize_shrinkers(void) > { > - down_write(&shrinker_rwsem); > - up_write(&shrinker_rwsem); > atomic_inc(&shrinker_srcu_generation); > synchronize_srcu(&shrinker_srcu); > }