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 12643E7C4F1 for ; Wed, 4 Oct 2023 20:19:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244388AbjJDUT4 (ORCPT ); Wed, 4 Oct 2023 16:19:56 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37096 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244220AbjJDUTs (ORCPT ); Wed, 4 Oct 2023 16:19:48 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 17CE6C6 for ; Wed, 4 Oct 2023 13:19:45 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7DDEDC433C9; Wed, 4 Oct 2023 20:19:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1696450784; bh=Lmewry0mqlk3RMgpi0pCEE0Tkico/uYNWvHEZ5mKFVw=; h=Date:To:From:Subject:From; b=J6sNejEkPsPe6P80xvjYLgDpr5lc2ACP+L6ZRs33Y51sOtUZi33L9+ozYBMET5kdP hey335wfspq82HR0rkF+tG8qeG7VzzG6XoEexrkpV0rz9L/CE8ImFkeyu1bNqwb9M9 R0Wip2SPq9vv6HwU9Q6pOPhSMJKJ52K7muRaZOq4= Date: Wed, 04 Oct 2023 13:19:43 -0700 To: mm-commits@vger.kernel.org, xuanzhuo@linux.alibaba.com, viro@zeniv.linux.org.uk, vbabka@suse.cz, tytso@mit.edu, tvrtko.ursulin@linux.intel.com, trond.myklebust@hammerspace.com, tom@talpey.com, tomeu.vizoso@collabora.com, tkhai@ya.ru, tglx@linutronix.de, steven.price@arm.com, sstabellini@kernel.org, songmuchun@bytedance.com, song@kernel.org, snitzer@kernel.org, senozhatsky@chromium.org, sean@poorly.run, rpeterso@redhat.com, roman.gushchin@linux.dev, rodrigo.vivi@intel.com, robh@kernel.org, robdclark@gmail.com, richard@nod.at, ray.huang@amd.com, quic_abhinavk@quicinc.com, paulmck@kernel.org, oleksandr_tyshchenko@epam.com, neilb@suse.de, namit@vmware.com, muchun.song@linux.dev, mst@redhat.com, mingo@redhat.com, minchan@kernel.org, marijn.suijten@somainline.org, kolga@netapp.com, kent.overstreet@gmail.com, josef@toxicpanda.com, joonas.lahtinen@linux.intel.com, joel@joelfernandes.org, jlayton@kernel.org, jgross@suse.com, jefflexu@linux.alibaba.com, jasowang@redhat.com, jani.nikula@linux.intel.com, jaegeuk@kernel.org, jack@suse.cz, huyue2@coolpad.com, hsiangkao@linux.alibaba.com, gregkh@linuxfoundation.org, dsterba@suse.com, dmitry.baryshkov@linaro.org, djwong@kernel.org, david@redhat.com, david@fromorbit.com, dave.hansen@linux.intel.com, daniel.vetter@ffwll.ch, daniel@ffwll.ch, Dai.Ngo@oracle.com, colyli@suse.de, cmllamas@google.com, clm@fb.com, christian.koenig@amd.com, chao@kernel.org, chandan.babu@oracle.com, cel@kernel.org, brauner@kernel.org, bp@alien8.de, arnd@arndb.de, anna@kernel.org, alyssa.rosenzweig@collabora.com, airlied@gmail.com, agruenba@redhat.com, agk@redhat.com, adilger.kernel@dilger.ca, zhengqi.arch@bytedance.com, akpm@linux-foundation.org From: Andrew Morton Subject: [merged mm-stable] mm-thp-dynamically-allocate-the-thp-related-shrinkers.patch removed from -mm tree Message-Id: <20231004201944.7DDEDC433C9@smtp.kernel.org> Precedence: bulk Reply-To: linux-kernel@vger.kernel.org List-ID: X-Mailing-List: mm-commits@vger.kernel.org The quilt patch titled Subject: mm: thp: dynamically allocate the thp-related shrinkers has been removed from the -mm tree. Its filename was mm-thp-dynamically-allocate-the-thp-related-shrinkers.patch This patch was dropped because it was merged into the mm-stable branch of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm ------------------------------------------------------ From: Qi Zheng Subject: mm: thp: dynamically allocate the thp-related shrinkers Date: Mon, 11 Sep 2023 17:44:16 +0800 Use new APIs to dynamically allocate the thp-zero and thp-deferred_split shrinkers. Link: https://lkml.kernel.org/r/20230911094444.68966-18-zhengqi.arch@bytedance.com Signed-off-by: Qi Zheng Cc: Abhinav Kumar Cc: Alasdair Kergon Cc: Alexander Viro Cc: Alyssa Rosenzweig Cc: Andreas Dilger Cc: Andreas Gruenbacher Cc: Anna Schumaker Cc: Arnd Bergmann Cc: Bob Peterson Cc: Borislav Petkov Cc: Carlos Llamas Cc: Chandan Babu R Cc: Chao Yu Cc: Chris Mason Cc: Christian Brauner Cc: Christian Koenig Cc: Chuck Lever Cc: Coly Li Cc: Dai Ngo Cc: Daniel Vetter Cc: Daniel Vetter Cc: "Darrick J. Wong" Cc: Dave Chinner Cc: Dave Hansen Cc: David Airlie Cc: David Hildenbrand Cc: David Sterba Cc: Dmitry Baryshkov Cc: Gao Xiang Cc: Greg Kroah-Hartman Cc: Huang Rui Cc: Ingo Molnar Cc: Jaegeuk Kim Cc: Jani Nikula Cc: Jan Kara Cc: Jason Wang Cc: Jeff Layton Cc: Jeffle Xu Cc: Joel Fernandes (Google) Cc: Joonas Lahtinen Cc: Josef Bacik Cc: Juergen Gross Cc: Kent Overstreet Cc: Kirill Tkhai Cc: Marijn Suijten Cc: "Michael S. Tsirkin" Cc: Mike Snitzer Cc: Minchan Kim Cc: Muchun Song Cc: Muchun Song Cc: Nadav Amit Cc: Neil Brown Cc: Oleksandr Tyshchenko Cc: Olga Kornievskaia Cc: Paul E. McKenney Cc: Richard Weinberger Cc: Rob Clark Cc: Rob Herring Cc: Rodrigo Vivi Cc: Roman Gushchin Cc: Sean Paul Cc: Sergey Senozhatsky Cc: Song Liu Cc: Stefano Stabellini Cc: Steven Price Cc: "Theodore Ts'o" Cc: Thomas Gleixner Cc: Tomeu Vizoso Cc: Tom Talpey Cc: Trond Myklebust Cc: Tvrtko Ursulin Cc: Vlastimil Babka Cc: Xuan Zhuo Cc: Yue Hu Signed-off-by: Andrew Morton --- mm/huge_memory.c | 67 ++++++++++++++++++++++++++++----------------- 1 file changed, 43 insertions(+), 24 deletions(-) --- a/mm/huge_memory.c~mm-thp-dynamically-allocate-the-thp-related-shrinkers +++ a/mm/huge_memory.c @@ -65,7 +65,11 @@ unsigned long transparent_hugepage_flags (1<count_objects = shrink_huge_zero_page_count; + huge_zero_page_shrinker->scan_objects = shrink_huge_zero_page_scan; + shrinker_register(huge_zero_page_shrinker); + + deferred_split_shrinker->count_objects = deferred_split_count; + deferred_split_shrinker->scan_objects = deferred_split_scan; + shrinker_register(deferred_split_shrinker); + + return 0; +} + +static void __init thp_shrinker_exit(void) +{ + shrinker_free(huge_zero_page_shrinker); + shrinker_free(deferred_split_shrinker); +} + static int __init hugepage_init(void) { int err; @@ -482,12 +514,9 @@ static int __init hugepage_init(void) if (err) goto err_slab; - err = register_shrinker(&huge_zero_page_shrinker, "thp-zero"); - if (err) - goto err_hzp_shrinker; - err = register_shrinker(&deferred_split_shrinker, "thp-deferred_split"); + err = thp_shrinker_init(); if (err) - goto err_split_shrinker; + goto err_shrinker; /* * By default disable transparent hugepages on smaller systems, @@ -505,10 +534,8 @@ static int __init hugepage_init(void) return 0; err_khugepaged: - unregister_shrinker(&deferred_split_shrinker); -err_split_shrinker: - unregister_shrinker(&huge_zero_page_shrinker); -err_hzp_shrinker: + thp_shrinker_exit(); +err_shrinker: khugepaged_destroy(); err_slab: hugepage_exit_sysfs(hugepage_kobj); @@ -2828,7 +2855,7 @@ void deferred_split_folio(struct folio * #ifdef CONFIG_MEMCG if (memcg) set_shrinker_bit(memcg, folio_nid(folio), - deferred_split_shrinker.id); + deferred_split_shrinker->id); #endif } spin_unlock_irqrestore(&ds_queue->split_queue_lock, flags); @@ -2902,14 +2929,6 @@ next: return split; } -static struct shrinker deferred_split_shrinker = { - .count_objects = deferred_split_count, - .scan_objects = deferred_split_scan, - .seeks = DEFAULT_SEEKS, - .flags = SHRINKER_NUMA_AWARE | SHRINKER_MEMCG_AWARE | - SHRINKER_NONSLAB, -}; - #ifdef CONFIG_DEBUG_FS static void split_huge_pages_all(void) { _ Patches currently in -mm which might be from zhengqi.arch@bytedance.com are