From: Jan Kara <jack@suse.cz>
To: Kemeng Shi <shikemeng@huaweicloud.com>
Cc: akpm@linux-foundation.org, tj@kernel.org, linux-mm@kvack.org,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
willy@infradead.org, bfoster@redhat.com, jack@suse.cz,
dsterba@suse.com, mjguzik@gmail.com, dhowells@redhat.com,
peterz@infradead.org
Subject: Re: [PATCH 0/6] Improve visibility of writeback
Date: Wed, 20 Mar 2024 18:22:40 +0100 [thread overview]
Message-ID: <20240320172240.7buswiv7zj2m5odg@quack3> (raw)
In-Reply-To: <20240320110222.6564-1-shikemeng@huaweicloud.com>
On Wed 20-03-24 19:02:16, Kemeng Shi wrote:
> This series tries to improve visilibity of writeback. Patch 1 make
> /sys/kernel/debug/bdi/xxx/stats show writeback info of whole bdi
> instead of only writeback info in root cgroup. Patch 2 add a new
> debug file /sys/kernel/debug/bdi/xxx/wb_stats to show per wb writeback
> info. Patch 4 add wb_monitor.py to monitor basic writeback info
> of running system, more info could be added on demand. Rest patches
> are some random cleanups. More details can be found in respective
> patches. Thanks!
>
> Following domain hierarchy is tested:
> global domain (320G)
> / \
> cgroup domain1(10G) cgroup domain2(10G)
> | |
> bdi wb1 wb2
>
> /* all writeback info of bdi is successfully collected */
> # cat /sys/kernel/debug/bdi/252:16/stats:
> BdiWriteback: 448 kB
> BdiReclaimable: 1303904 kB
> BdiDirtyThresh: 189914124 kB
> DirtyThresh: 195337564 kB
> BackgroundThresh: 32516508 kB
> BdiDirtied: 3591392 kB
> BdiWritten: 2287488 kB
> BdiWriteBandwidth: 322248 kBps
> b_dirty: 0
> b_io: 0
> b_more_io: 2
> b_dirty_time: 0
> bdi_list: 1
> state: 1
>
> /* per wb writeback info is collected */
> # cat /sys/kernel/debug/bdi/252:16/wb_stats:
> cat wb_stats
> WbCgIno: 1
> WbWriteback: 0 kB
> WbReclaimable: 0 kB
> WbDirtyThresh: 0 kB
> WbDirtied: 0 kB
> WbWritten: 0 kB
> WbWriteBandwidth: 102400 kBps
> b_dirty: 0
> b_io: 0
> b_more_io: 0
> b_dirty_time: 0
> state: 1
> WbCgIno: 4284
> WbWriteback: 448 kB
> WbReclaimable: 818944 kB
> WbDirtyThresh: 3096524 kB
> WbDirtied: 2266880 kB
> WbWritten: 1447936 kB
> WbWriteBandwidth: 214036 kBps
> b_dirty: 0
> b_io: 0
> b_more_io: 1
> b_dirty_time: 0
> state: 5
> WbCgIno: 4325
> WbWriteback: 224 kB
> WbReclaimable: 819392 kB
> WbDirtyThresh: 2920088 kB
> WbDirtied: 2551808 kB
> WbWritten: 1732416 kB
> WbWriteBandwidth: 201832 kBps
> b_dirty: 0
> b_io: 0
> b_more_io: 1
> b_dirty_time: 0
> state: 5
>
> /* monitor writeback info */
> # ./wb_monitor.py 252:16 -c
> writeback reclaimable dirtied written avg_bw
> 252:16_1 0 0 0 0 102400
> 252:16_4284 672 820064 9230368 8410304 685612
> 252:16_4325 896 819840 10491264 9671648 652348
> 252:16 1568 1639904 19721632 18081952 1440360
>
>
> writeback reclaimable dirtied written avg_bw
> 252:16_1 0 0 0 0 102400
> 252:16_4284 672 820064 9230368 8410304 685612
> 252:16_4325 896 819840 10491264 9671648 652348
> 252:16 1568 1639904 19721632 18081952 1440360
> ...
So I'm wondering: Are you implementing this just because this looks
interesting or do you have a real need for the functionality? Why?
Honza
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
next prev parent reply other threads:[~2024-03-20 17:22 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-20 11:02 [PATCH 0/6] Improve visibility of writeback Kemeng Shi
2024-03-20 11:02 ` [PATCH 1/6] writeback: collect stats of all wb of bdi in bdi_debug_stats_show Kemeng Shi
2024-03-20 13:21 ` Brian Foster
2024-03-21 3:44 ` Kemeng Shi
2024-03-21 12:10 ` Brian Foster
2024-03-22 7:32 ` Kemeng Shi
2024-03-21 18:06 ` Jan Kara
2024-03-22 7:51 ` Kemeng Shi
2024-03-22 11:58 ` Brian Foster
2024-03-26 13:16 ` Kemeng Shi
2024-03-20 11:02 ` [PATCH 2/6] writeback: support retrieving per group debug writeback stats of bdi Kemeng Shi
2024-03-20 15:01 ` Tejun Heo
2024-03-21 3:45 ` Kemeng Shi
2024-03-26 12:24 ` Jan Kara
2024-03-26 13:26 ` Kemeng Shi
2024-03-20 11:02 ` [PATCH 3/6] workqueue: remove unnecessary import and function in wq_monitor.py Kemeng Shi
2024-03-20 15:03 ` Tejun Heo
2024-03-21 6:08 ` Kemeng Shi
2024-03-20 11:02 ` [PATCH 4/6] writeback: add wb_monitor.py script to monitor writeback info on bdi Kemeng Shi
2024-03-20 15:12 ` Tejun Heo
2024-03-21 6:22 ` Kemeng Shi
2024-03-20 11:02 ` [PATCH 5/6] writeback: rename nr_reclaimable to nr_dirty in balance_dirty_pages Kemeng Shi
2024-03-26 12:27 ` Jan Kara
2024-03-20 11:02 ` [PATCH 6/6] writeback: remove unneeded GDTC_INIT_NO_WB Kemeng Shi
2024-03-20 15:15 ` Tejun Heo
2024-03-21 7:12 ` Kemeng Shi
2024-03-25 20:26 ` Tejun Heo
2024-03-26 13:17 ` Kemeng Shi
2024-03-27 9:33 ` Jan Kara
2024-03-28 1:49 ` Kemeng Shi
2024-04-02 13:53 ` Jan Kara
2024-04-03 8:50 ` Kemeng Shi
2024-03-26 12:35 ` Jan Kara
2024-03-26 13:30 ` Kemeng Shi
2024-03-20 15:20 ` [PATCH 0/6] Improve visibility of writeback Tejun Heo
2024-03-20 17:22 ` Jan Kara [this message]
2024-03-21 8:12 ` Kemeng Shi
2024-03-21 18:07 ` Jan Kara
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240320172240.7buswiv7zj2m5odg@quack3 \
--to=jack@suse.cz \
--cc=akpm@linux-foundation.org \
--cc=bfoster@redhat.com \
--cc=dhowells@redhat.com \
--cc=dsterba@suse.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mjguzik@gmail.com \
--cc=peterz@infradead.org \
--cc=shikemeng@huaweicloud.com \
--cc=tj@kernel.org \
--cc=willy@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.