mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 10:31:33 -04:00
mm/vmstat: add NRSWP{IN,OUT} counters
Count how many swap I/Os we cause. Due to batching this can be different than the current counter number of pages written/read, and tracking this information is useful to see how efficient the batching is. The counters are added at the end of enum vm_event_item and the vmstat_text array under the assumption that the order of fields in /proc/vmstat is an ABI. If that is not the case, they could be grouped with the other swap counters. Link: https://lore.kernel.org/20260713093350.2154226-8-hch@lst.de Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Nhat Pham <nphamcs@gmail.com> Cc: Baolin Wang <baolin.wang@linux.alibaba.com> Cc: Baoquan He <baoquan.he@linux.dev> Cc: Barry Song <baohua@kernel.org> Cc: Chris Li <chrisl@kernel.org> Cc: Kairui Song <kasong@tencent.com> Cc: Kemeng Shi <shikemeng@huaweicloud.com> Cc: Youngjun Park <youngjun.park@lge.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
committed by
Andrew Morton
parent
0df74c1158
commit
c01e6df60e
@@ -175,6 +175,10 @@ enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT,
|
||||
KSTACK_REST,
|
||||
#endif
|
||||
#endif /* CONFIG_DEBUG_STACK_USAGE */
|
||||
#ifdef CONFIG_SWAP
|
||||
NRSWPIN,
|
||||
NRSWPOUT,
|
||||
#endif /* CONFIG_SWAP */
|
||||
NR_VM_EVENT_ITEMS
|
||||
};
|
||||
|
||||
|
||||
@@ -704,6 +704,7 @@ void swap_write_submit(struct swap_io_ctx *ctx)
|
||||
{
|
||||
if (!ctx->sio)
|
||||
return;
|
||||
count_vm_events(NRSWPOUT, 1);
|
||||
ctx->sis->ops->submit_write(ctx);
|
||||
ctx->sio = NULL;
|
||||
ctx->sis = NULL;
|
||||
@@ -713,6 +714,7 @@ void swap_read_submit(struct swap_io_ctx *ctx)
|
||||
{
|
||||
if (!ctx->sio)
|
||||
return;
|
||||
count_vm_events(NRSWPIN, 1);
|
||||
ctx->sis->ops->submit_read(ctx);
|
||||
ctx->sio = NULL;
|
||||
ctx->sis = NULL;
|
||||
|
||||
@@ -1502,7 +1502,11 @@ const char * const vmstat_text[] = {
|
||||
#if THREAD_SIZE > 65536
|
||||
[I(KSTACK_REST)] = "kstack_rest",
|
||||
#endif
|
||||
#endif
|
||||
#endif /* CONFIG_DEBUG_STACK_USAGE */
|
||||
#ifdef CONFIG_SWAP
|
||||
[I(NRSWPIN)] = "nrswpin",
|
||||
[I(NRSWPOUT)] = "nrswpout",
|
||||
#endif /* CONFIG_SWAP */
|
||||
#undef I
|
||||
#endif /* CONFIG_VM_EVENT_COUNTERS */
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user