Skip to content

Commit 4824e59

Browse files
committed
netfs: Add some write-side stats and clean up some stat names
Add some write-side stats to count buffered writes, buffered writethrough, and writepages calls. Whilst we're at it, clean up the naming on some of the existing stats counters and organise the output into two sets. Signed-off-by: David Howells <[email protected]> Reviewed-by: Jeff Layton <[email protected]> cc: [email protected] cc: [email protected]
1 parent 288ace2 commit 4824e59

File tree

6 files changed

+23
-9
lines changed

6 files changed

+23
-9
lines changed

fs/netfs/buffered_read.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ int netfs_read_folio(struct file *file, struct folio *folio)
282282
if (ret == -ENOMEM || ret == -EINTR || ret == -ERESTARTSYS)
283283
goto discard;
284284

285-
netfs_stat(&netfs_n_rh_readpage);
285+
netfs_stat(&netfs_n_rh_read_folio);
286286
trace_netfs_read(rreq, rreq->start, rreq->len, netfs_read_trace_readpage);
287287

288288
/* Set up the output buffer */

fs/netfs/buffered_write.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,9 @@ ssize_t netfs_perform_write(struct kiocb *iocb, struct iov_iter *iter,
210210
if (!is_sync_kiocb(iocb))
211211
wreq->iocb = iocb;
212212
wreq->cleanup = netfs_cleanup_buffered_write;
213+
netfs_stat(&netfs_n_wh_writethrough);
214+
} else {
215+
netfs_stat(&netfs_n_wh_buffered_write);
213216
}
214217

215218
do {

fs/netfs/direct_write.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ ssize_t netfs_unbuffered_write_iter(struct kiocb *iocb, struct iov_iter *from)
145145
return 0;
146146

147147
trace_netfs_write_iter(iocb, from);
148-
netfs_stat(&netfs_n_rh_dio_write);
148+
netfs_stat(&netfs_n_wh_dio_write);
149149

150150
ret = netfs_start_io_direct(inode);
151151
if (ret < 0)

fs/netfs/internal.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,8 @@ int netfs_end_writethrough(struct netfs_io_request *wreq, struct kiocb *iocb);
106106
*/
107107
#ifdef CONFIG_NETFS_STATS
108108
extern atomic_t netfs_n_rh_dio_read;
109-
extern atomic_t netfs_n_rh_dio_write;
110109
extern atomic_t netfs_n_rh_readahead;
111-
extern atomic_t netfs_n_rh_readpage;
110+
extern atomic_t netfs_n_rh_read_folio;
112111
extern atomic_t netfs_n_rh_rreq;
113112
extern atomic_t netfs_n_rh_sreq;
114113
extern atomic_t netfs_n_rh_download;
@@ -125,6 +124,10 @@ extern atomic_t netfs_n_rh_write_begin;
125124
extern atomic_t netfs_n_rh_write_done;
126125
extern atomic_t netfs_n_rh_write_failed;
127126
extern atomic_t netfs_n_rh_write_zskip;
127+
extern atomic_t netfs_n_wh_buffered_write;
128+
extern atomic_t netfs_n_wh_writethrough;
129+
extern atomic_t netfs_n_wh_dio_write;
130+
extern atomic_t netfs_n_wh_writepages;
128131
extern atomic_t netfs_n_wh_wstream_conflict;
129132
extern atomic_t netfs_n_wh_upload;
130133
extern atomic_t netfs_n_wh_upload_done;

fs/netfs/stats.c

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,8 @@
1010
#include "internal.h"
1111

1212
atomic_t netfs_n_rh_dio_read;
13-
atomic_t netfs_n_rh_dio_write;
1413
atomic_t netfs_n_rh_readahead;
15-
atomic_t netfs_n_rh_readpage;
14+
atomic_t netfs_n_rh_read_folio;
1615
atomic_t netfs_n_rh_rreq;
1716
atomic_t netfs_n_rh_sreq;
1817
atomic_t netfs_n_rh_download;
@@ -29,6 +28,10 @@ atomic_t netfs_n_rh_write_begin;
2928
atomic_t netfs_n_rh_write_done;
3029
atomic_t netfs_n_rh_write_failed;
3130
atomic_t netfs_n_rh_write_zskip;
31+
atomic_t netfs_n_wh_buffered_write;
32+
atomic_t netfs_n_wh_writethrough;
33+
atomic_t netfs_n_wh_dio_write;
34+
atomic_t netfs_n_wh_writepages;
3235
atomic_t netfs_n_wh_wstream_conflict;
3336
atomic_t netfs_n_wh_upload;
3437
atomic_t netfs_n_wh_upload_done;
@@ -39,13 +42,17 @@ atomic_t netfs_n_wh_write_failed;
3942

4043
int netfs_stats_show(struct seq_file *m, void *v)
4144
{
42-
seq_printf(m, "Netfs : DR=%u DW=%u RA=%u RP=%u WB=%u WBZ=%u\n",
45+
seq_printf(m, "Netfs : DR=%u RA=%u RF=%u WB=%u WBZ=%u\n",
4346
atomic_read(&netfs_n_rh_dio_read),
44-
atomic_read(&netfs_n_rh_dio_write),
4547
atomic_read(&netfs_n_rh_readahead),
46-
atomic_read(&netfs_n_rh_readpage),
48+
atomic_read(&netfs_n_rh_read_folio),
4749
atomic_read(&netfs_n_rh_write_begin),
4850
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));
4956
seq_printf(m, "Netfs : ZR=%u sh=%u sk=%u\n",
5057
atomic_read(&netfs_n_rh_zero),
5158
atomic_read(&netfs_n_rh_short_read),

fs/netfs/write_issue.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -519,6 +519,7 @@ int new_netfs_writepages(struct address_space *mapping,
519519
}
520520

521521
trace_netfs_write(wreq, netfs_write_trace_writeback);
522+
netfs_stat(&netfs_n_wh_writepages);
522523

523524
do {
524525
_debug("wbiter %lx %llx", folio->index, wreq->start + wreq->submitted);

0 commit comments

Comments
 (0)