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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9F74DC001E0 for ; Thu, 27 Jul 2023 09:16:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233077AbjG0JQw (ORCPT ); Thu, 27 Jul 2023 05:16:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44542 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233096AbjG0JQZ (ORCPT ); Thu, 27 Jul 2023 05:16:25 -0400 Received: from mail-pf1-x42a.google.com (mail-pf1-x42a.google.com [IPv6:2607:f8b0:4864:20::42a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 796967ECD for ; Thu, 27 Jul 2023 02:07:13 -0700 (PDT) Received: by mail-pf1-x42a.google.com with SMTP id d2e1a72fcca58-66d6a9851f3so176609b3a.0 for ; Thu, 27 Jul 2023 02:07:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1690448833; x=1691053633; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=UKiGuCYavgdrONYSlKU+hjlx/AzCB2LKMORbFgw7HEo=; b=DjrROq91sf6Va+7++jhnZLLfMfZ3NpR+vs103Gffs3+O08HW6byjEgnIqMIjx7XVVU 6Esw8LCCRNx5FIzgZD2yLlNtiJ3fWUXbMzLdc62rKZLebfjHSG7L7jgEMl0D1hE7ZoNg HZ2c9Q9i+LL0tt0iImhvHFOK+Hduw2G0dP+6wK+guSG8W2Nz3BegBODQY1lmNQJ14Dz4 uuXi2h/k5/64PvGOHou6Defqpklm1cGUHs8RqpArf+xI1YmvbpRswY34ry3JAORO90Jx 4NSzh0j5w+vqWxK/Ia35MiibA4wNxyya8QHOgB3QIdRRJ50Wt48gZu09EVgownqRkh1E f6DQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690448833; x=1691053633; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=UKiGuCYavgdrONYSlKU+hjlx/AzCB2LKMORbFgw7HEo=; b=NMjPPZCFfKmUIsLCbZy+aV+U9Pl/qpwWrEumHBrEOoCchyOWzLTes6i//NjfTEhUxv QZPj17vgMAoF3z1DyJvy1LOxmW7MzcVqfAbMCJ7enF9RNaBCl9QA46eDUx7wGiGqJIIh qDnhmTsEl4c4g9/VPEat7oIH7q08ei8Gqv5emPfhxBKBR4Jyu0hmvmAGMuNLHwSt0DfP 7W/rf4ZKcQrrCMMuxreXE7GCcXKywCFEjoF7TPhp7CNG2opMoMPyYQUaSHgwcQ01+Vrl I2+V5YGWdCV8hx087WEVUiSa6HPCQ0/NG1j1IGJY0JmkBuvhpUYk+1zOVz5NUsT71xix Uncw== X-Gm-Message-State: ABy/qLYQg8C8iOE+ms/EFQZOfD1R4WPzbdf8TUZFPNMFfiTA1pjWR8Sz 2hWyx0nkUr5P2LK3MkhOkDkLvg== X-Google-Smtp-Source: APBJJlEquEzidizjgrmS1e55j2UU3CMKKyxPnlaVqAXQYQ+ePfvdxx8A4f9JU/BbmCjGKzVhoGuchQ== X-Received: by 2002:a17:90a:128e:b0:263:25f9:65b2 with SMTP id g14-20020a17090a128e00b0026325f965b2mr4139877pja.4.1690448832920; Thu, 27 Jul 2023 02:07:12 -0700 (PDT) Received: from [10.70.252.135] ([203.208.167.147]) by smtp.gmail.com with ESMTPSA id a11-20020a170902ee8b00b001b7e63cfa19sm1063627pld.234.2023.07.27.02.07.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 27 Jul 2023 02:07:12 -0700 (PDT) Message-ID: <19461737-db63-2ab5-110b-e65035881ae2@bytedance.com> Date: Thu, 27 Jul 2023 17:06:57 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Subject: Re: [PATCH v3 15/49] nfs: dynamically allocate the nfs-acl shrinker Content-Language: en-US To: akpm@linux-foundation.org, david@fromorbit.com, tkhai@ya.ru, vbabka@suse.cz, roman.gushchin@linux.dev, djwong@kernel.org, brauner@kernel.org, paulmck@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 Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, x86@kernel.org, kvm@vger.kernel.org, xen-devel@lists.xenproject.org, linux-erofs@lists.ozlabs.org, linux-f2fs-devel@lists.sourceforge.net, cluster-devel@redhat.com, linux-nfs@vger.kernel.org, linux-mtd@lists.infradead.org, rcu@vger.kernel.org, netdev@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, dm-devel@redhat.com, linux-raid@vger.kernel.org, linux-bcache@vger.kernel.org, virtualization@lists.linux-foundation.org, linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, linux-xfs@vger.kernel.org, linux-btrfs@vger.kernel.org, Muchun Song References: <20230727080502.77895-1-zhengqi.arch@bytedance.com> <20230727080502.77895-16-zhengqi.arch@bytedance.com> From: Qi Zheng In-Reply-To: <20230727080502.77895-16-zhengqi.arch@bytedance.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-fsdevel@vger.kernel.org On 2023/7/27 16:04, Qi Zheng wrote: > Use new APIs to dynamically allocate the nfs-acl shrinker. > > Signed-off-by: Qi Zheng > Reviewed-by: Muchun Song > --- > fs/nfs/super.c | 20 ++++++++++++-------- > 1 file changed, 12 insertions(+), 8 deletions(-) > > diff --git a/fs/nfs/super.c b/fs/nfs/super.c > index 2284f749d892..072d82e1be06 100644 > --- a/fs/nfs/super.c > +++ b/fs/nfs/super.c > @@ -129,11 +129,7 @@ static void nfs_ssc_unregister_ops(void) > } > #endif /* CONFIG_NFS_V4_2 */ > > -static struct shrinker acl_shrinker = { > - .count_objects = nfs_access_cache_count, > - .scan_objects = nfs_access_cache_scan, > - .seeks = DEFAULT_SEEKS, > -}; > +static struct shrinker *acl_shrinker; > > /* > * Register the NFS filesystems > @@ -153,9 +149,17 @@ int __init register_nfs_fs(void) > ret = nfs_register_sysctl(); > if (ret < 0) > goto error_2; > - ret = register_shrinker(&acl_shrinker, "nfs-acl"); > - if (ret < 0) > + > + acl_shrinker = shrinker_alloc(0, "nfs-acl"); > + if (!acl_shrinker) > goto error_3; Here should set ret to -ENOMEM, will fix. > + > + acl_shrinker->count_objects = nfs_access_cache_count; > + acl_shrinker->scan_objects = nfs_access_cache_scan; > + acl_shrinker->seeks = DEFAULT_SEEKS; > + > + shrinker_register(acl_shrinker); > + > #ifdef CONFIG_NFS_V4_2 > nfs_ssc_register_ops(); > #endif > @@ -175,7 +179,7 @@ int __init register_nfs_fs(void) > */ > void __exit unregister_nfs_fs(void) > { > - unregister_shrinker(&acl_shrinker); > + shrinker_free(acl_shrinker); > nfs_unregister_sysctl(); > unregister_nfs4_fs(); > #ifdef CONFIG_NFS_V4_2