mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00
mm, vmstat: remove the NR_WRITEBACK_TEMP node_stat_item counter
The only user of the counter (FUSE) was removed in commit 0c58a97f91
("fuse: remove tmp folio for writebacks and internal rb tree") so follow
the established pattern of removing the counter and hardcoding 0 in
meminfo output, as done recently with NR_BOUNCE. Update documentation for
procfs, including for the value for Bounce that was missed when removing
its counter.
Also remove the mention of NR_WRITEBACK_TEMP implications from a comment
in wb_position_ratio(). The rest of the comment there about fuse setting
bdi->max_ratio to 1% is still correct.
[vbabka@suse.cz: v2]
Link: https://lkml.kernel.org/r/5a848e15-6a57-4ecb-a015-d4f358b8a5d3@suse.cz
Link: https://lkml.kernel.org/r/20250625-nr_writeback_removal-v1-1-7f2a0df70faa@suse.cz
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
Cc: Brendan Jackman <jackmanb@google.com>
Cc: Danilo Krummrich <dakr@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Jan Kara <jack@suse.cz>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: Jeffle Xu <jefflexu@linux.alibaba.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Joanne Koong <joannelkoong@gmail.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Kirill A. Shuemov <kirill.shutemov@linux.intel.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Maxim Patlasov <mpatlasov@parallels.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Miklos Szeredi <mszeredi@redhat.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Zach O'Keefe <zokeefe@google.com>
Cc: Zi Yan <ziy@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
ed6a9068a0
commit
8356a5a3b0
@ -1196,12 +1196,14 @@ SecPageTables
|
||||
Memory consumed by secondary page tables, this currently includes
|
||||
KVM mmu and IOMMU allocations on x86 and arm64.
|
||||
NFS_Unstable
|
||||
Always zero. Previous counted pages which had been written to
|
||||
Always zero. Previously counted pages which had been written to
|
||||
the server, but has not been committed to stable storage.
|
||||
Bounce
|
||||
Memory used for block device "bounce buffers"
|
||||
Always zero. Previously memory used for block device
|
||||
"bounce buffers".
|
||||
WritebackTmp
|
||||
Memory used by FUSE for temporary writeback buffers
|
||||
Always zero. Previously memory used by FUSE for temporary
|
||||
writeback buffers.
|
||||
CommitLimit
|
||||
Based on the overcommit ratio ('vm.overcommit_ratio'),
|
||||
this is the total amount of memory currently available to
|
||||
|
@ -500,7 +500,7 @@ static ssize_t node_read_meminfo(struct device *dev,
|
||||
nid, K(node_page_state(pgdat, NR_SECONDARY_PAGETABLE)),
|
||||
nid, 0UL,
|
||||
nid, 0UL,
|
||||
nid, K(node_page_state(pgdat, NR_WRITEBACK_TEMP)),
|
||||
nid, 0UL,
|
||||
nid, K(sreclaimable +
|
||||
node_page_state(pgdat, NR_KERNEL_MISC_RECLAIMABLE)),
|
||||
nid, K(sreclaimable + sunreclaimable),
|
||||
|
@ -121,8 +121,7 @@ static int meminfo_proc_show(struct seq_file *m, void *v)
|
||||
|
||||
show_val_kb(m, "NFS_Unstable: ", 0);
|
||||
show_val_kb(m, "Bounce: ", 0);
|
||||
show_val_kb(m, "WritebackTmp: ",
|
||||
global_node_page_state(NR_WRITEBACK_TEMP));
|
||||
show_val_kb(m, "WritebackTmp: ", 0);
|
||||
show_val_kb(m, "CommitLimit: ", vm_commit_limit());
|
||||
show_val_kb(m, "Committed_AS: ", committed);
|
||||
seq_printf(m, "VmallocTotal: %8lu kB\n",
|
||||
|
@ -206,7 +206,6 @@ enum node_stat_item {
|
||||
NR_FILE_PAGES,
|
||||
NR_FILE_DIRTY,
|
||||
NR_WRITEBACK,
|
||||
NR_WRITEBACK_TEMP, /* Writeback using temporary buffers */
|
||||
NR_SHMEM, /* shmem pages (included tmpfs/GEM pages) */
|
||||
NR_SHMEM_THPS,
|
||||
NR_SHMEM_PMDMAPPED,
|
||||
|
@ -1101,9 +1101,7 @@ static void wb_position_ratio(struct dirty_throttle_control *dtc)
|
||||
* such filesystems balance_dirty_pages always checks wb counters
|
||||
* against wb limits. Even if global "nr_dirty" is under "freerun".
|
||||
* This is especially important for fuse which sets bdi->max_ratio to
|
||||
* 1% by default. Without strictlimit feature, fuse writeback may
|
||||
* consume arbitrary amount of RAM because it is accounted in
|
||||
* NR_WRITEBACK_TEMP which is not involved in calculating "nr_dirty".
|
||||
* 1% by default.
|
||||
*
|
||||
* Here, in wb_position_ratio(), we calculate pos_ratio based on
|
||||
* two values: wb_dirty and wb_thresh. Let's consider an example:
|
||||
|
@ -246,7 +246,6 @@ static void show_free_areas(unsigned int filter, nodemask_t *nodemask, int max_z
|
||||
" shmem_pmdmapped:%lukB"
|
||||
" anon_thp:%lukB"
|
||||
#endif
|
||||
" writeback_tmp:%lukB"
|
||||
" kernel_stack:%lukB"
|
||||
#ifdef CONFIG_SHADOW_CALL_STACK
|
||||
" shadow_call_stack:%lukB"
|
||||
@ -273,7 +272,6 @@ static void show_free_areas(unsigned int filter, nodemask_t *nodemask, int max_z
|
||||
K(node_page_state(pgdat, NR_SHMEM_PMDMAPPED)),
|
||||
K(node_page_state(pgdat, NR_ANON_THPS)),
|
||||
#endif
|
||||
K(node_page_state(pgdat, NR_WRITEBACK_TEMP)),
|
||||
node_page_state(pgdat, NR_KERNEL_STACK_KB),
|
||||
#ifdef CONFIG_SHADOW_CALL_STACK
|
||||
node_page_state(pgdat, NR_KERNEL_SCS_KB),
|
||||
|
@ -1251,7 +1251,6 @@ const char * const vmstat_text[] = {
|
||||
[I(NR_FILE_PAGES)] = "nr_file_pages",
|
||||
[I(NR_FILE_DIRTY)] = "nr_dirty",
|
||||
[I(NR_WRITEBACK)] = "nr_writeback",
|
||||
[I(NR_WRITEBACK_TEMP)] = "nr_writeback_temp",
|
||||
[I(NR_SHMEM)] = "nr_shmem",
|
||||
[I(NR_SHMEM_THPS)] = "nr_shmem_hugepages",
|
||||
[I(NR_SHMEM_PMDMAPPED)] = "nr_shmem_pmdmapped",
|
||||
|
Loading…
Reference in New Issue
Block a user