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 9E5E3C27C40 for ; Thu, 24 Aug 2023 09:51:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1586B28007A; Thu, 24 Aug 2023 05:51:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 10949280071; Thu, 24 Aug 2023 05:51:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F11B028007A; Thu, 24 Aug 2023 05:51:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id E26A7280071 for ; Thu, 24 Aug 2023 05:51:43 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id BB7B016024A for ; Thu, 24 Aug 2023 09:51:43 +0000 (UTC) X-FDA: 81158531286.27.BEE18D0 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by imf05.hostedemail.com (Postfix) with ESMTP id 82ACC100018 for ; Thu, 24 Aug 2023 09:51:41 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=IZRptfoB; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=salJb2fi; dmarc=none; spf=pass (imf05.hostedemail.com: domain of jack@suse.cz designates 195.135.220.28 as permitted sender) smtp.mailfrom=jack@suse.cz ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1692870701; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Pxa2+V0kwHi7/2sGDFOZCd/7KeQpScvLV6JBpiWsk4k=; b=KhBP8VhPlXh7fXMJp3KP3mjtVS09aOiwKT6d7l627ZX01Ksx+YsGpTVtMP7XNtDkni1Zs2 xvSmrdK6jIpZh2cKHV4kPD1teBahV8uDXcFOBSWmhjZ0DvfU2jMw1rMvM3S7J1TBUIT6r4 qiJrhMVHEQv16QN/t26tYmHXee5H3bs= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=suse.cz header.s=susede2_rsa header.b=IZRptfoB; dkim=pass header.d=suse.cz header.s=susede2_ed25519 header.b=salJb2fi; dmarc=none; spf=pass (imf05.hostedemail.com: domain of jack@suse.cz designates 195.135.220.28 as permitted sender) smtp.mailfrom=jack@suse.cz ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1692870701; a=rsa-sha256; cv=none; b=d8rNJYPahP6f+dNUWsxW2IfCR8sSMzi33phXuszNxaSCOHWztKwv+eTAl8Ap9rWHSl0fT1 18LoZVVX7FO0Wi2JLmVGexG4w7G0D1lQpSFXq4Qqki6OqkQNCB/kcEqw0g2ao8/ZVxdZxX jtMogen6qrY2pVtcepzrzd0yMMKwBj0= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 02EE822D5B; Thu, 24 Aug 2023 09:51:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_rsa; t=1692870700; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Pxa2+V0kwHi7/2sGDFOZCd/7KeQpScvLV6JBpiWsk4k=; b=IZRptfoBVD/TYrolu2gsnOLFquFZFJQ3aE9XMeP5jS5XqQYEzeKmnmA+8dyJ+WYqDkOXSx vFS47ORMJDzroWmoPIPF4YBfrDma38dUcmTuX2oqIA3sabZheLzP1kq7SCKrDG/KoNs9Hc HAx3XWJM1TzLI+CtfFBamRN45q6wrkY= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.cz; s=susede2_ed25519; t=1692870700; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Pxa2+V0kwHi7/2sGDFOZCd/7KeQpScvLV6JBpiWsk4k=; b=salJb2fiqKUtpqOkG3IpAjHOystViyxxebLhcCIKBS7mP/pK0zQN8Whkp3APgcfmazQ6Jw +A338wBHgt4eEZAw== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id E5011132F2; Thu, 24 Aug 2023 09:51:39 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id oP3kNyso52QWJAAAMHmgww (envelope-from ); Thu, 24 Aug 2023 09:51:39 +0000 Received: by quack3.suse.cz (Postfix, from userid 1000) id 8132DA0774; Thu, 24 Aug 2023 11:51:39 +0200 (CEST) Date: Thu, 24 Aug 2023 11:51:39 +0200 From: Jan Kara To: Qi Zheng Cc: 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, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, Muchun Song , Jan Kara Subject: Re: [PATCH v5 13/45] quota: dynamically allocate the dquota-cache shrinker Message-ID: <20230824095139.nvdozxopqq65yiln@quack3> References: <20230824034304.37411-1-zhengqi.arch@bytedance.com> <20230824034304.37411-14-zhengqi.arch@bytedance.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230824034304.37411-14-zhengqi.arch@bytedance.com> X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 82ACC100018 X-Stat-Signature: qbtttmbmgbbswem3j66p67nmir6fguh8 X-HE-Tag: 1692870701-706522 X-HE-Meta: U2FsdGVkX18B3K1Go6QUCyyYxIaFPZs6zNzPCy8NmGYlCARGrKAHb064UFpDd47ru+ilKA+K09ka7Af301IopncAHrIl1qRTzvrq+6O3zIlMoeUPnFkPQeKXwQ6mwXwBI7NJc1xUoimP4dXmey3Ohk4ZwlRVykai6xmlOxCyFcb3z4B41B7PtPWL2mo/MVzAbdC6ru31AosBU3oghdXSUWHWgA00BHG6uFSHEm+w6B43n3iVu3b/FRuUY06GQzPHxucxcNC3VPr9cLnhI2t6l/vXOorZOu7+j9lxqsFiWkSy4YBExOFkUVvdPaaiMdFyyguEx1cLSqU/fhf6OuNv28Yd5uV+1vns3J3ze5uMYKWhG7P/ysMfQeR+Vm1tDPGZKcS16DLdQBwBwqQRsMgob5Q/yHGQjYHPJYamyOEV+U/9UgQvV4H3+8h1TyWDIT0mpx0Zrb+vbMcPxTKtO/jcRCCqqdnll4raUeI4Q2OpoomHMEGpm042MRbWmciDhTAD+j+lTi2SUmZb8xtxRRGQabKh9rb3YcDOFzU97u2YTp3TSTOtBLAdm84ajM113GAHYNR3MtEL9HTayapr2JZXOVsbfB389Na/Bp4Q08XmsOFPI+9CUTsx9SNZMX8xq7HneNDG3jqK4QBnz6ltNtx6rQmYgks7k77xIkQegSaV/QMSuAlfN4tLjMyEMTAEKrMWtyvQOspvhVBVd1uOZkdUgGl6BUzIESg116p9bGXDuFJpV9hd95JoBXC7hWAj85t4wLIduwSd8vQvHdHxOmpdw6XazcODbOLRtlBpuGl0IV1M5cQ69cbbE0aZiiTOXaVv5P4y9hQPzZDOc3+z+aKQbpYLPnZ2M8GUAEM3xM3E2Wd5DRKt01J0yGUZQpKm4rTvVzYd/RQ5UIO/ASMRMiXme+aKLsvJfStUVq2kX5tnyghpU7oRqzz3k/Ekt3aveL00BlRXlYb46/KR+VqAmeW F6Ozx9bm AldxKYsw4TO60cZ0NetNEk/P1PMwrqXF5XCt29+GHTE/ggVtRRh6ucbdB5Rmv4NrzcYOlDJUHGKlCaeLpvwiucTKfS7dacamJaUXaKXzGSfch5WRDIc9KKb3qoXV9S/yi7WzT6xueSsEaqGsUEEvZ5B9LVMI4X6VOU/bTNGAwmwozu+6sLXIFm79/TpQaBTBwgqZKXvJyS8m3o1PGyM2t7IUQAhYqOBiBGLcAaaL3Gtwo1W1KVDe/LD1DbWEAYkO4/d+/qSLpabYg3E2DVPF06jrzUKU1QrJkv7NWL2lb6prN/mVb+k5E1vWr3w== 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 Thu 24-08-23 11:42:32, Qi Zheng wrote: > Use new APIs to dynamically allocate the dquota-cache shrinker. > > Signed-off-by: Qi Zheng > Reviewed-by: Muchun Song > CC: Jan Kara Looks good to me. Feel free to add: Acked-by: Jan Kara Honza > --- > fs/quota/dquot.c | 18 ++++++++++-------- > 1 file changed, 10 insertions(+), 8 deletions(-) > > diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c > index 9e72bfe8bbad..c303cffdf433 100644 > --- a/fs/quota/dquot.c > +++ b/fs/quota/dquot.c > @@ -791,12 +791,6 @@ dqcache_shrink_count(struct shrinker *shrink, struct shrink_control *sc) > percpu_counter_read_positive(&dqstats.counter[DQST_FREE_DQUOTS])); > } > > -static struct shrinker dqcache_shrinker = { > - .count_objects = dqcache_shrink_count, > - .scan_objects = dqcache_shrink_scan, > - .seeks = DEFAULT_SEEKS, > -}; > - > /* > * Safely release dquot and put reference to dquot. > */ > @@ -2956,6 +2950,7 @@ static int __init dquot_init(void) > { > int i, ret; > unsigned long nr_hash, order; > + struct shrinker *dqcache_shrinker; > > printk(KERN_NOTICE "VFS: Disk quotas %s\n", __DQUOT_VERSION__); > > @@ -2990,8 +2985,15 @@ static int __init dquot_init(void) > pr_info("VFS: Dquot-cache hash table entries: %ld (order %ld," > " %ld bytes)\n", nr_hash, order, (PAGE_SIZE << order)); > > - if (register_shrinker(&dqcache_shrinker, "dquota-cache")) > - panic("Cannot register dquot shrinker"); > + dqcache_shrinker = shrinker_alloc(0, "dquota-cache"); > + if (!dqcache_shrinker) > + panic("Cannot allocate dquot shrinker"); > + > + dqcache_shrinker->count_objects = dqcache_shrink_count; > + dqcache_shrinker->scan_objects = dqcache_shrink_scan; > + dqcache_shrinker->seeks = DEFAULT_SEEKS; > + > + shrinker_register(dqcache_shrinker); > > return 0; > } > -- > 2.30.2 > -- Jan Kara SUSE Labs, CR