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 ADF62C369D1 for ; Sun, 27 Apr 2025 20:20:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CEEB06B0005; Sun, 27 Apr 2025 16:20:09 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C9E436B0007; Sun, 27 Apr 2025 16:20:09 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B8BC66B0008; Sun, 27 Apr 2025 16:20:09 -0400 (EDT) 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 929DD6B0005 for ; Sun, 27 Apr 2025 16:20:09 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id C2515803EF for ; Sun, 27 Apr 2025 20:20:09 +0000 (UTC) X-FDA: 83380940538.24.3868DD1 Received: from mailrelay1-3.pub.mailoutpod2-cph3.one.com (mailrelay1-3.pub.mailoutpod2-cph3.one.com [46.30.212.32]) by imf04.hostedemail.com (Postfix) with ESMTP id 74AF740006 for ; Sun, 27 Apr 2025 20:20:07 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=konsulko.se header.s=rsa1 header.b="g/Er9Wek"; dkim=pass header.d=konsulko.se header.s=ed1 header.b=4jm8heKT; dmarc=none; spf=none (imf04.hostedemail.com: domain of vitaly.wool@konsulko.se has no SPF policy when checking 46.30.212.32) smtp.mailfrom=vitaly.wool@konsulko.se ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745785208; a=rsa-sha256; cv=none; b=TtVbTQbZTqmtfs86aElQTI0TGujQ8CvP/iBfDjYu0lXAhPfUUKNnn0UCd7qVIHEFErKFVM 2Q/d4J3t27J1E+Y41NleIbVpv8K/QTzKvRGUUh8YP+rMGQBi0seCN4MRs9lllktN/LfK0G +6yQFwNiYpPaT8GBij0e09uJ07bpISg= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=konsulko.se header.s=rsa1 header.b="g/Er9Wek"; dkim=pass header.d=konsulko.se header.s=ed1 header.b=4jm8heKT; dmarc=none; spf=none (imf04.hostedemail.com: domain of vitaly.wool@konsulko.se has no SPF policy when checking 46.30.212.32) smtp.mailfrom=vitaly.wool@konsulko.se ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745785208; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=shcxpfrjccaKCRDXtBOgbh/oAMtnscrtDvkyx1+IXRA=; b=iMXCNw4B6RlAzwEVRZ3S+pmtJ26mPnnntuybUK9RgTGaQr32eIY+TPizoKN/Au0luPhz/G Ndb2VrcV95e+j0hSDX4XTESGhEL/9qTswyOLpbyR4PSEtnM38vamWxHINE+qnvUhTze/+a 7dlaoxdt468WTslXiuoDx54H6XX7dLE= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1745785204; x=1746390004; d=konsulko.se; s=rsa1; h=content-transfer-encoding:mime-version:message-id:date:subject:cc:to:from: from; bh=shcxpfrjccaKCRDXtBOgbh/oAMtnscrtDvkyx1+IXRA=; b=g/Er9WekUwpmWcDDy3sjuBAS4CpG+Trb9s1Ooq7jm/ATKBsNilGE1e+46f0gVrlUsq5f/UyuvVH2i hfzZKNnm2to6ykEl8BFet6g+qbSio/MDuSJEwAqzl5T0sL3zdf9fTXVh0708AvOYtzgHxP3HrBX5WP d50pZgLFuuW4yiEFtahHggZ7WvaOZPe4jbrOmoFJnu9LG1G/i/aAUSyiUVdpPHRvkvd5XXp8BEMC3t 09t97HRss4SRqK52go4mdBz7jskbhQtK3nYr3s9YFi096Ua4lAj5zqO3z6VAELXjVN/vMiF7mGenkA UoKRsNhuoCOKc+0OB644pSOC/GhHxEw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1745785204; x=1746390004; d=konsulko.se; s=ed1; h=content-transfer-encoding:mime-version:message-id:date:subject:cc:to:from: from; bh=shcxpfrjccaKCRDXtBOgbh/oAMtnscrtDvkyx1+IXRA=; b=4jm8heKT72nmPUF6TliX6XalAWuXQAec98RL6agqhJvmtEukyGSBuOsbU3T51Wr/S/YINPFQ3IB48 thzFCGXAw== X-HalOne-ID: fd90db7a-23a4-11f0-90b3-4d2191f5f3b5 Received: from localhost.localdomain (host-90-233-217-8.mobileonline.telia.com [90.233.217.8]) by mailrelay1.pub.mailoutpod2-cph3.one.com (Halon) with ESMTPSA id fd90db7a-23a4-11f0-90b3-4d2191f5f3b5; Sun, 27 Apr 2025 20:20:04 +0000 (UTC) From: Vitaly Wool To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: akpm@linux-foundation.org, hannes@cmpxchg.org, minchan@kernel.org, nphamcs@gmail.com, senozhatsky@chromium.org, shakeel.butt@linux.dev, yosry.ahmed@linux.dev, Igor Belousov , Vitaly Wool Subject: [PATCH mm-new] mm/zblock: add debugfs Date: Sun, 27 Apr 2025 22:19:58 +0200 Message-Id: <20250427201958.491806-1-vitaly.wool@konsulko.se> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 74AF740006 X-Stat-Signature: 46s7f1s4n1uomy5qfbqoeagf4japrw9u X-Rspam-User: X-HE-Tag: 1745785207-767200 X-HE-Meta: U2FsdGVkX1+pJOppQ24Yb6VSNwV2TMFZwmR/86GFjqcejPLIJ9W/iHBfi1E1atMK/JrZ+RvAMm7G9WGrmY7P0y1NdggDtWt9VXOoCpG3A21B1T5ZKExA6kutIj43nH/M+Y4r0oJ9Er6LW4g5qYrFEd5cigSVBHWW0rvESyH2bryLtsA0bgQFE/4AmgvUBOD+40VLaa5bXj3GBe8PCd3I6Vg+uyMdUj46ighKR2zJmgjGSQ7uMLg2bNeLuWOf3OBo/kAPrGohjp8r0Lj66NNPdNQgd3zIXvIJLnqi2IOQueRwo5Y0+KFTuGmK+GzekTtuN6sUgIR3gB/Bb3U11P4lcOC1kbuSmQl3Yxf389ifRH1HC3HxbfheNHErWoP6enh3iesq/HZL2G/y/okOjjnPUqj0RedtZnLXZ6yxSPHJq2wdCMc4m7g6bYKsZMkUCIFuqWODlev1MaHFXdOMlyccIy5URu8N5QUwTqzyo7BA8tTSa32mcdOrEp8fjjY3rQQ1F/I44ukY75kMsGv+yrFYO5tSjjJx8FLWL1DRbHAjY1x9EqcNWZmZBGrXgy5lBekbIpCBCmBFft/He+DDn2bCCByM1ie9W2n4qaR1mRT77JD8jf9cVI8FeKR7IFpci4Cdof5/pd0DA7AlPbbvkkAf2OPV3gEKXtKUO/lJ2rf9tk6Xdicl3qvgzNzesO3YSIBWdyxkUcT3nJKjKcUzfh4PW5hyrElooEQFthyUuMG3cYaAd3VY1uzBSF7muUM6Nm9JvemcArNw9BzvGShW7LuFvMQvGENPhiLecSkEfeL1vjUZUN2YhTVDCR7pKW6KDgwFctU/WNhSCVM4Ndf03G4DDHXwHa2QytEYtZ9LUFER7ee6acAKndHxKmSwZSR6prun4u9M3uI5sCmQXF3pZyiqhpo9cRpQyjW30FmfyeTOJh+lekORNB9r4yGL1TfCSl945x22/a93JYxyIdIbua0 HF2CrYt0 Vcflv9aBkwhPorZDfYBS1DKgnDcuq1H5Vreau4b4mT/GEYA8MeVtGuJT3Mnjf1Jx3FMULMdT+9Oe6h48vxZjeF5rvdoToUsqOKX+THzw+NYZ3s4jJiOlluP82hUETh9/UgQlXUWIEyJJRgKKw5Jw8nAJQELq4S1q5ID7OEE3kNqXlbrzNJ7KuEHSBDw== 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: List-Subscribe: List-Unsubscribe: From: Igor Belousov Add debugfs entry to monitor number of blocks allocated for different block sizes. Signed-off-by: Igor Belousov Signed-off-by: Vitaly Wool --- mm/zblock.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/mm/zblock.c b/mm/zblock.c index 6afe6986260d..7182b1ac85ad 100644 --- a/mm/zblock.c +++ b/mm/zblock.c @@ -17,6 +17,7 @@ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt #include +#include #include #include #include @@ -27,6 +28,7 @@ #include "zblock.h" static struct rb_root block_desc_tree = RB_ROOT; +static struct dentry *zblock_debugfs_root; /* Encode handle of a particular slot in the pool using metadata */ static inline unsigned long metadata_to_handle(struct zblock_block *block, @@ -111,6 +113,22 @@ static struct zblock_block *alloc_block(struct zblock_pool *pool, return block; } +static int zblock_blocks_show(struct seq_file *s, void *v) +{ + struct zblock_pool *pool = s->private; + int i; + + for (i = 0; i < ARRAY_SIZE(block_desc); i++) { + struct block_list *block_list = &pool->block_lists[i]; + + seq_printf(s, "%d: %ld blocks of %d pages (total %ld pages)\n", + i, block_list->block_count, block_desc[i].num_pages, + block_list->block_count * block_desc[i].num_pages); + } + return 0; +} +DEFINE_SHOW_ATTRIBUTE(zblock_blocks); + /***************** * API Functions *****************/ @@ -140,6 +158,9 @@ static struct zblock_pool *zblock_create_pool(gfp_t gfp) INIT_LIST_HEAD(&block_list->active_list); block_list->block_count = 0; } + + debugfs_create_file("blocks", S_IFREG | 0444, zblock_debugfs_root, + pool, &zblock_blocks_fops); return pool; } @@ -426,12 +447,15 @@ static int __init init_zblock(void) return ret; zpool_register_driver(&zblock_zpool_driver); + + zblock_debugfs_root = debugfs_create_dir("zblock", NULL); return 0; } static void __exit exit_zblock(void) { zpool_unregister_driver(&zblock_zpool_driver); + debugfs_remove_recursive(zblock_debugfs_root); delete_rbtree(); } -- 2.49.0