Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v6.11-rc5 83 lines 2.9 kB view raw
1// SPDX-License-Identifier: GPL-2.0-or-later 2/* Netfs support statistics 3 * 4 * Copyright (C) 2021 Red Hat, Inc. All Rights Reserved. 5 * Written by David Howells (dhowells@redhat.com) 6 */ 7 8#include <linux/export.h> 9#include <linux/seq_file.h> 10#include "internal.h" 11 12atomic_t netfs_n_rh_dio_read; 13atomic_t netfs_n_rh_readahead; 14atomic_t netfs_n_rh_read_folio; 15atomic_t netfs_n_rh_rreq; 16atomic_t netfs_n_rh_sreq; 17atomic_t netfs_n_rh_download; 18atomic_t netfs_n_rh_download_done; 19atomic_t netfs_n_rh_download_failed; 20atomic_t netfs_n_rh_download_instead; 21atomic_t netfs_n_rh_read; 22atomic_t netfs_n_rh_read_done; 23atomic_t netfs_n_rh_read_failed; 24atomic_t netfs_n_rh_zero; 25atomic_t netfs_n_rh_short_read; 26atomic_t netfs_n_rh_write; 27atomic_t netfs_n_rh_write_begin; 28atomic_t netfs_n_rh_write_done; 29atomic_t netfs_n_rh_write_failed; 30atomic_t netfs_n_rh_write_zskip; 31atomic_t netfs_n_wh_buffered_write; 32atomic_t netfs_n_wh_writethrough; 33atomic_t netfs_n_wh_dio_write; 34atomic_t netfs_n_wh_writepages; 35atomic_t netfs_n_wh_wstream_conflict; 36atomic_t netfs_n_wh_upload; 37atomic_t netfs_n_wh_upload_done; 38atomic_t netfs_n_wh_upload_failed; 39atomic_t netfs_n_wh_write; 40atomic_t netfs_n_wh_write_done; 41atomic_t netfs_n_wh_write_failed; 42 43int netfs_stats_show(struct seq_file *m, void *v) 44{ 45 seq_printf(m, "Netfs : DR=%u RA=%u RF=%u WB=%u WBZ=%u\n", 46 atomic_read(&netfs_n_rh_dio_read), 47 atomic_read(&netfs_n_rh_readahead), 48 atomic_read(&netfs_n_rh_read_folio), 49 atomic_read(&netfs_n_rh_write_begin), 50 atomic_read(&netfs_n_rh_write_zskip)); 51 seq_printf(m, "Netfs : BW=%u WT=%u DW=%u WP=%u\n", 52 atomic_read(&netfs_n_wh_buffered_write), 53 atomic_read(&netfs_n_wh_writethrough), 54 atomic_read(&netfs_n_wh_dio_write), 55 atomic_read(&netfs_n_wh_writepages)); 56 seq_printf(m, "Netfs : ZR=%u sh=%u sk=%u\n", 57 atomic_read(&netfs_n_rh_zero), 58 atomic_read(&netfs_n_rh_short_read), 59 atomic_read(&netfs_n_rh_write_zskip)); 60 seq_printf(m, "Netfs : DL=%u ds=%u df=%u di=%u\n", 61 atomic_read(&netfs_n_rh_download), 62 atomic_read(&netfs_n_rh_download_done), 63 atomic_read(&netfs_n_rh_download_failed), 64 atomic_read(&netfs_n_rh_download_instead)); 65 seq_printf(m, "Netfs : RD=%u rs=%u rf=%u\n", 66 atomic_read(&netfs_n_rh_read), 67 atomic_read(&netfs_n_rh_read_done), 68 atomic_read(&netfs_n_rh_read_failed)); 69 seq_printf(m, "Netfs : UL=%u us=%u uf=%u\n", 70 atomic_read(&netfs_n_wh_upload), 71 atomic_read(&netfs_n_wh_upload_done), 72 atomic_read(&netfs_n_wh_upload_failed)); 73 seq_printf(m, "Netfs : WR=%u ws=%u wf=%u\n", 74 atomic_read(&netfs_n_wh_write), 75 atomic_read(&netfs_n_wh_write_done), 76 atomic_read(&netfs_n_wh_write_failed)); 77 seq_printf(m, "Netfs : rr=%u sr=%u wsc=%u\n", 78 atomic_read(&netfs_n_rh_rreq), 79 atomic_read(&netfs_n_rh_sreq), 80 atomic_read(&netfs_n_wh_wstream_conflict)); 81 return fscache_stats_show(m); 82} 83EXPORT_SYMBOL(netfs_stats_show);