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 E0936C10DC1 for ; Wed, 6 Dec 2023 09:13:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3B6FA6B007D; Wed, 6 Dec 2023 04:13:29 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 366BE6B0081; Wed, 6 Dec 2023 04:13:29 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 256AA6B0093; Wed, 6 Dec 2023 04:13:29 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 13ACE6B007D for ; Wed, 6 Dec 2023 04:13:29 -0500 (EST) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id DBB26120145 for ; Wed, 6 Dec 2023 09:13:28 +0000 (UTC) X-FDA: 81535830096.25.9BA1448 Received: from mail-pg1-f175.google.com (mail-pg1-f175.google.com [209.85.215.175]) by imf10.hostedemail.com (Postfix) with ESMTP id E8383C001F for ; Wed, 6 Dec 2023 09:13:25 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=fromorbit-com.20230601.gappssmtp.com header.s=20230601 header.b="WZx/kkPZ"; spf=pass (imf10.hostedemail.com: domain of david@fromorbit.com designates 209.85.215.175 as permitted sender) smtp.mailfrom=david@fromorbit.com; dmarc=pass (policy=quarantine) header.from=fromorbit.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1701854006; 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=g6kf2y7bAp6mjq0zetlI4hRhT2xVJNGrhrzA1HJKDPA=; b=dKEj2g3cB0E0+3bO69G8Ls+VduJxZMAAIPVjZ6jPyMGdJi7l7TwIXHcZt/6s+OtcVC4cRi hFsCp0cuJzNBOq/lmzToQHo9PLpzUtgLQkPe0QmUSh72G+Dnl2oBlLFCTRgqoBM+Oo+08M 6rrSechvC2/DJy4SUugANG2fvLj4OqA= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1701854006; a=rsa-sha256; cv=none; b=xD7IbDPu4rk3V+C8UhrqQe/9ILXbWOEm/ux/X44tOsn8abGrtM1NqoylwtlH0amSEDzFEa BAGB6RTfVfWotDJB0rErgac45LP7MpBkV7z6BqkenkIN8NYRy9pll4IqgAeR+cXnZgwZQO HWg/TjrFOajvR9mApigflHGPOblg204= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=fromorbit-com.20230601.gappssmtp.com header.s=20230601 header.b="WZx/kkPZ"; spf=pass (imf10.hostedemail.com: domain of david@fromorbit.com designates 209.85.215.175 as permitted sender) smtp.mailfrom=david@fromorbit.com; dmarc=pass (policy=quarantine) header.from=fromorbit.com Received: by mail-pg1-f175.google.com with SMTP id 41be03b00d2f7-5c67c1ad5beso508253a12.1 for ; Wed, 06 Dec 2023 01:13:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fromorbit-com.20230601.gappssmtp.com; s=20230601; t=1701854005; x=1702458805; darn=kvack.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=g6kf2y7bAp6mjq0zetlI4hRhT2xVJNGrhrzA1HJKDPA=; b=WZx/kkPZFv2zlk3xFL9PGjUqgIgbx0AfEtaTdeD5/jy2Jqg+YMNYLzZ0QZSp2EENhO TnDyoBbND7clp5lIuRpxgCfkq1Kt5UIhvgziOUltsNqecKgSHdnn4tVTWeHqveUnfkAs 4rUSKg5MLlX55VBcr+U6tiPsGgVz1pw1rvGlqCmxd8mb9IYapawvNWk3b9ZSsfi+J2rv VA4T0yZcHDD1ZxThMabQvjopspyrOipqPx6beJSju2ccD/sTTfI2MN9V+Wfs1cjFjT0i av7qiBVp0Z/8Ul/ZtbPQxrKZLbKHLAbYLSi7KDslvOy1xn1XJQnDw4sCIHGILdQxE7Nj NsQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701854005; x=1702458805; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=g6kf2y7bAp6mjq0zetlI4hRhT2xVJNGrhrzA1HJKDPA=; b=CvuHQYIRUUishEB1ojIVD9liQ3jBJZLKeMQTVBBMUJfbyBfVZGhAaylU5mTTjfzU2o rXjOl7ruk3BLRshsFcg3SnxS6Bir6VPtWx9oHrf2l7stDgYdW2eJNLQ9A6pQC4/JlLuj PPP5GN9QgDNwykMWF/AOhNOE2gfHezW86lG9PsmAIUWuSuyQ/dgtHfYIQC2ksRK/IjDf bnkyBHj85RmKlu92Xtfz63OHnPIUEthB3grDvXdBCS3TOFZl3V6D2IGvTE1ZkvXEY3DZ jNU3gEXU77OBVzhoMIX+2VqcnoiUdFDbou4OyFcQ83+MkbSdRcf8bYlLaUFYnUsWhW3g P9gQ== X-Gm-Message-State: AOJu0Ywlam2QsCdEPWy0XmVibStLNEA4sPveyFZce2Tv0Z/gobwYK9oD /mkU5EpyQwHaZxu+61XbkSUKLA== X-Google-Smtp-Source: AGHT+IHcBVRbTw4fV4raK+5NTdQ/G9rfuq6/QM54MrQz5eNuxhHvE6/ewBaWanYphDgB22PdR9N4Fg== X-Received: by 2002:a17:90a:c095:b0:286:7529:3598 with SMTP id o21-20020a17090ac09500b0028675293598mr3090956pjs.13.1701854004624; Wed, 06 Dec 2023 01:13:24 -0800 (PST) Received: from dread.disaster.area (pa49-180-125-5.pa.nsw.optusnet.com.au. [49.180.125.5]) by smtp.gmail.com with ESMTPSA id l3-20020a17090270c300b001cf6783fd41sm11658432plt.17.2023.12.06.01.13.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Dec 2023 01:13:24 -0800 (PST) Received: from dave by dread.disaster.area with local (Exim 4.96) (envelope-from ) id 1rAny5-004YwT-25; Wed, 06 Dec 2023 20:13:21 +1100 Date: Wed, 6 Dec 2023 20:13:21 +1100 From: Dave Chinner To: Lai Jiangshan Cc: Qi Zheng , akpm@linux-foundation.org, paulmck@kernel.org, tkhai@ya.ru, vbabka@suse.cz, roman.gushchin@linux.dev, djwong@kernel.org, brauner@kernel.org, tytso@mit.edu, steven.price@arm.com, cel@kernel.org, senozhatsky@chromium.org, yujie.liu@intel.com, gregkh@linuxfoundation.org, muchun.song@linux.dev, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org Subject: Re: [PATCH v6 42/45] mm: shrinker: make global slab shrink lockless Message-ID: References: <20230911094444.68966-1-zhengqi.arch@bytedance.com> <20230911094444.68966-43-zhengqi.arch@bytedance.com> <93c36097-5266-4fc5-84a8-d770ab344361@bytedance.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Stat-Signature: j3u4n4zmodzj85o45zq318osn7wqew8m X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: E8383C001F X-Rspam-User: X-HE-Tag: 1701854005-775477 X-HE-Meta: U2FsdGVkX1+HPGFIDa/Qn+N4O3NwJWTMvDJfOWsUwV0MFGuTK2W3PHVsMKlGtublzdCQjYzOy29a2RQxpeOy73ZqGmDTsUXvw2RYm9oqH8Y9Le/cLWnA7IynVvMFOyN27uHK2nISaeLX0d/HmVUz1huq22ugmvgScuKtB0XKkYSLCDTKIgvW/GvYA0ylVHTAkMFHA6cfJ4u1EISCWhhc/StnKLSeO+4bu38KZnXs+gANh6qWgw4lrx3ym45rRfIY8eYj/jVVpJB/AY1tYmOIod18+F9s3WPVMqwyvrdxGtX2L1ticytUc1stsYO63LK1XQ7I1MR43aKHhNJL1LauEMD2uqBU1XkFR4xJzNP1ZIRwzLMSDUIgaVpL65eSN+V28CtJCW7og/mzXXIFG3XXcrTxWNMCvv3Q0QNDdAjpEPatnSzoJMYXGnz1pParCDqFHIdCKACffHVqHVYZ1hjYjj2TaAkQI9jNgXeySYeP4sLQoHSRsJpHgALIB6W7dm27CKG4VIDH3KAfDhPSaZT7x50SCF7CyAspqFJkyaqkTSbAz6gbHrQaI7djqt6juFNC7fRqB/n7Y48/QC1WvlUB+WmxS85Xx12r2RSjF83tpI0qbP4ygm/pYN/BAOySQxaLM17A2F7MkLhabFH0hTRIZbZ9ZwsT36vMNZZ9wKIKqd5Y3pf3L+uMeM3rhDEsTkr/CV6RhUp6xISP09BNaGOljoba52AKNuBnR3gkw1CcRJcYkvp6le/OIUEGnZ3SNSPDX6XlRJCQlR/PG8IrtTxQig7pk+qLMPo7rdtFsfvCTwn8CrDU8D/Vq82Z9haId10YKOFJ0/qFnBPf0ddQ4ILYudKT8qvbmpsr47mo14BXPj40+me6BUOvqCx6abNDz6ZRsIf3aJEofBfu0wRDQlhvt07ICwHmFqbDLBLPThnRCfKqm6m+u0zMlNaAGcinPWOsKxsFXHro6+5WruQIOlJ je6FJyWH vTh0FXRmWdyDmC0YKHJGRM5fS8Uy2EW58QJ+YnB/5CPxc6jZ44yYyjaDPAdO1ELUlNd6bknNzXzycXr5NAwTkcvjLBiB42E4kw6qMHlczesAvxJR6IS7d5ej7EU7F74vH44FMDo6ScYFc/qW8m/XBywZCENORGwyEaKXqNzMoyu3eMUbR0vs18uFQVsY/rxM97E2RSFDlY2gFvdpkvlxxlxPlFcSwBI3KEcUCv0DAZUL44Y8zez8+WVFlCsT9jxOADnmyRT64CedL2bGLEB9p5M6RqUQjkxxOBJuGqJX+u1BcnxGQZ6IqepDBwHeNPC+mVb4abimqtbn49KdO6TqRq4eP1sNJw8iohf939kw3UReIuIvF6lM3neFSqBZoj3zEnMdhzH8o/gzfc3SstB7+t+eBzk9/HMUMtIt9o02BUdJSEpnlowykpqmz+pWnbZIPXVAXRlTe8856Hyx4z9Sts4UPgP3jbaXze4QDJxti3d1GNjNGckOfjiLq4wvSrpj55C3b X-Bogosity: Ham, tests=bogofilter, spamicity=0.304637, 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 Wed, Dec 06, 2023 at 04:23:24PM +0800, Lai Jiangshan wrote: > On Wed, Dec 6, 2023 at 3:55 PM Qi Zheng wrote: > > On 2023/12/6 15:47, Lai Jiangshan wrote: > > > On Tue, Sep 12, 2023 at 9:57 PM Qi Zheng wrote: > > > > > No, this_shrinker will not be removed from the shrinker_list until the > > last refcount is released. See below: > > > > > rcu_read_lock(); > > > shrinker_put(this_shrinker); > > > > CPU 1 CPU 2 > > > > --> if (refcount_dec_and_test(&shrinker->refcount)) > > complete(&shrinker->done); > > > > wait_for_completion(&shrinker->done); > > list_del_rcu(&shrinker->list); > > since shrinker will not be removed from the shrinker_list until the > last refcount is released. > > Is it possible that shrinker_free() can be starved by continuous > scanners getting and putting the refcount? In theory, yes. In practice, highly improbable. i.e. I don't think this will ever be an issue because the timing conditions for memory reclaim to keep a permanently elevated reference count on a shrinker for a subsystem that is being torn down are -highly- improbable. And even if you could pull it off, who cares if shrinker_free() is delayed? It's a teardown operation meaning the subsystem using the shrinker will no longer be in use so the latency of the teardown operation is largely irrelevant to whatever is still running on the system. -Dave. -- Dave Chinner david@fromorbit.com