~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/nfs_iostat.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/linux/nfs_iostat.h (Version linux-6.12-rc7) and /include/linux/nfs_iostat.h (Version linux-5.0.21)


  1 /* SPDX-License-Identifier: GPL-2.0 */              1 /* SPDX-License-Identifier: GPL-2.0 */
  2 /*                                                  2 /*
  3  *  User-space visible declarations for NFS cl      3  *  User-space visible declarations for NFS client per-mount
  4  *  point statistics                                4  *  point statistics
  5  *                                                  5  *
  6  *  Copyright (C) 2005, 2006 Chuck Lever <cel@      6  *  Copyright (C) 2005, 2006 Chuck Lever <cel@netapp.com>
  7  *                                                  7  *
  8  *  NFS client per-mount statistics provide in      8  *  NFS client per-mount statistics provide information about the
  9  *  health of the NFS client and the health of      9  *  health of the NFS client and the health of each NFS mount point.
 10  *  Generally these are not for detailed probl     10  *  Generally these are not for detailed problem diagnosis, but
 11  *  simply to indicate that there is a problem     11  *  simply to indicate that there is a problem.
 12  *                                                 12  *
 13  *  These counters are not meant to be human-r     13  *  These counters are not meant to be human-readable, but are meant
 14  *  to be integrated into system monitoring to     14  *  to be integrated into system monitoring tools such as "sar" and
 15  *  "iostat".  As such, the counters are sampl     15  *  "iostat".  As such, the counters are sampled by the tools over
 16  *  time, and are never zeroed after a file sy     16  *  time, and are never zeroed after a file system is mounted.
 17  *  Moving averages can be computed by the too     17  *  Moving averages can be computed by the tools by taking the
 18  *  difference between two instantaneous sampl     18  *  difference between two instantaneous samples  and dividing that
 19  *  by the time between the samples.               19  *  by the time between the samples.
 20  */                                                20  */
 21                                                    21 
 22 #ifndef _LINUX_NFS_IOSTAT                          22 #ifndef _LINUX_NFS_IOSTAT
 23 #define _LINUX_NFS_IOSTAT                          23 #define _LINUX_NFS_IOSTAT
 24                                                    24 
 25 #define NFS_IOSTAT_VERS         "1.1"              25 #define NFS_IOSTAT_VERS         "1.1"
 26                                                    26 
 27 /*                                                 27 /*
 28  * NFS byte counters                               28  * NFS byte counters
 29  *                                                 29  *
 30  * 1.  SERVER - the number of payload bytes re     30  * 1.  SERVER - the number of payload bytes read from or written
 31  *     to the server by the NFS client via an      31  *     to the server by the NFS client via an NFS READ or WRITE
 32  *     request.                                    32  *     request.
 33  *                                                 33  *
 34  * 2.  NORMAL - the number of bytes read or wr     34  * 2.  NORMAL - the number of bytes read or written by applications
 35  *     via the read(2) and write(2) system cal     35  *     via the read(2) and write(2) system call interfaces.
 36  *                                                 36  *
 37  * 3.  DIRECT - the number of bytes read or wr     37  * 3.  DIRECT - the number of bytes read or written from files
 38  *     opened with the O_DIRECT flag.              38  *     opened with the O_DIRECT flag.
 39  *                                                 39  *
 40  * These counters give a view of the data thro     40  * These counters give a view of the data throughput into and out
 41  * of the NFS client.  Comparing the number of     41  * of the NFS client.  Comparing the number of bytes requested by
 42  * an application with the number of bytes the     42  * an application with the number of bytes the client requests from
 43  * the server can provide an indication of cli     43  * the server can provide an indication of client efficiency
 44  * (per-op, cache hits, etc).                      44  * (per-op, cache hits, etc).
 45  *                                                 45  *
 46  * These counters can also help characterize w     46  * These counters can also help characterize which access methods
 47  * are in use.  DIRECT by itself shows whether     47  * are in use.  DIRECT by itself shows whether there is any O_DIRECT
 48  * traffic.  NORMAL + DIRECT shows how much da     48  * traffic.  NORMAL + DIRECT shows how much data is going through
 49  * the system call interface.  A large amount      49  * the system call interface.  A large amount of SERVER traffic
 50  * without much NORMAL or DIRECT traffic shows     50  * without much NORMAL or DIRECT traffic shows that applications
 51  * are using mapped files.                         51  * are using mapped files.
 52  *                                                 52  *
 53  * NFS page counters                               53  * NFS page counters
 54  *                                                 54  *
 55  * These count the number of pages read or wri     55  * These count the number of pages read or written via nfs_readpage(),
 56  * nfs_readpages(), or their write equivalents     56  * nfs_readpages(), or their write equivalents.
 57  *                                                 57  *
 58  * NB: When adding new byte counters, please i     58  * NB: When adding new byte counters, please include the measured
 59  * units in the name of each byte counter to h     59  * units in the name of each byte counter to help users of this
 60  * interface determine what exactly is being c     60  * interface determine what exactly is being counted.
 61  */                                                61  */
 62 enum nfs_stat_bytecounters {                       62 enum nfs_stat_bytecounters {
 63         NFSIOS_NORMALREADBYTES = 0,                63         NFSIOS_NORMALREADBYTES = 0,
 64         NFSIOS_NORMALWRITTENBYTES,                 64         NFSIOS_NORMALWRITTENBYTES,
 65         NFSIOS_DIRECTREADBYTES,                    65         NFSIOS_DIRECTREADBYTES,
 66         NFSIOS_DIRECTWRITTENBYTES,                 66         NFSIOS_DIRECTWRITTENBYTES,
 67         NFSIOS_SERVERREADBYTES,                    67         NFSIOS_SERVERREADBYTES,
 68         NFSIOS_SERVERWRITTENBYTES,                 68         NFSIOS_SERVERWRITTENBYTES,
 69         NFSIOS_READPAGES,                          69         NFSIOS_READPAGES,
 70         NFSIOS_WRITEPAGES,                         70         NFSIOS_WRITEPAGES,
 71         __NFSIOS_BYTESMAX,                         71         __NFSIOS_BYTESMAX,
 72 };                                                 72 };
 73                                                    73 
 74 /*                                                 74 /*
 75  * NFS event counters                              75  * NFS event counters
 76  *                                                 76  *
 77  * These counters provide a low-overhead way o     77  * These counters provide a low-overhead way of monitoring client
 78  * activity without enabling NFS trace debuggi     78  * activity without enabling NFS trace debugging.  The counters
 79  * show the rate at which VFS requests are mad     79  * show the rate at which VFS requests are made, and how often the
 80  * client invalidates its data and attribute c     80  * client invalidates its data and attribute caches.  This allows
 81  * system administrators to monitor such thing     81  * system administrators to monitor such things as how close-to-open
 82  * is working, and answer questions such as "w     82  * is working, and answer questions such as "why are there so many
 83  * GETATTR requests on the wire?"                  83  * GETATTR requests on the wire?"
 84  *                                                 84  *
 85  * They also count anamolous events such as sh     85  * They also count anamolous events such as short reads and writes,
 86  * silly renames due to close-after-delete, an     86  * silly renames due to close-after-delete, and operations that
 87  * change the size of a file (such operations      87  * change the size of a file (such operations can often be the
 88  * source of data corruption if applications a     88  * source of data corruption if applications aren't using file
 89  * locking properly).                              89  * locking properly).
 90  */                                                90  */
 91 enum nfs_stat_eventcounters {                      91 enum nfs_stat_eventcounters {
 92         NFSIOS_INODEREVALIDATE = 0,                92         NFSIOS_INODEREVALIDATE = 0,
 93         NFSIOS_DENTRYREVALIDATE,                   93         NFSIOS_DENTRYREVALIDATE,
 94         NFSIOS_DATAINVALIDATE,                     94         NFSIOS_DATAINVALIDATE,
 95         NFSIOS_ATTRINVALIDATE,                     95         NFSIOS_ATTRINVALIDATE,
 96         NFSIOS_VFSOPEN,                            96         NFSIOS_VFSOPEN,
 97         NFSIOS_VFSLOOKUP,                          97         NFSIOS_VFSLOOKUP,
 98         NFSIOS_VFSACCESS,                          98         NFSIOS_VFSACCESS,
 99         NFSIOS_VFSUPDATEPAGE,                      99         NFSIOS_VFSUPDATEPAGE,
100         NFSIOS_VFSREADPAGE,                       100         NFSIOS_VFSREADPAGE,
101         NFSIOS_VFSREADPAGES,                      101         NFSIOS_VFSREADPAGES,
102         NFSIOS_VFSWRITEPAGE,                      102         NFSIOS_VFSWRITEPAGE,
103         NFSIOS_VFSWRITEPAGES,                     103         NFSIOS_VFSWRITEPAGES,
104         NFSIOS_VFSGETDENTS,                       104         NFSIOS_VFSGETDENTS,
105         NFSIOS_VFSSETATTR,                        105         NFSIOS_VFSSETATTR,
106         NFSIOS_VFSFLUSH,                          106         NFSIOS_VFSFLUSH,
107         NFSIOS_VFSFSYNC,                          107         NFSIOS_VFSFSYNC,
108         NFSIOS_VFSLOCK,                           108         NFSIOS_VFSLOCK,
109         NFSIOS_VFSRELEASE,                        109         NFSIOS_VFSRELEASE,
110         NFSIOS_CONGESTIONWAIT,                    110         NFSIOS_CONGESTIONWAIT,
111         NFSIOS_SETATTRTRUNC,                      111         NFSIOS_SETATTRTRUNC,
112         NFSIOS_EXTENDWRITE,                       112         NFSIOS_EXTENDWRITE,
113         NFSIOS_SILLYRENAME,                       113         NFSIOS_SILLYRENAME,
114         NFSIOS_SHORTREAD,                         114         NFSIOS_SHORTREAD,
115         NFSIOS_SHORTWRITE,                        115         NFSIOS_SHORTWRITE,
116         NFSIOS_DELAY,                             116         NFSIOS_DELAY,
117         NFSIOS_PNFS_READ,                         117         NFSIOS_PNFS_READ,
118         NFSIOS_PNFS_WRITE,                        118         NFSIOS_PNFS_WRITE,
119         __NFSIOS_COUNTSMAX,                       119         __NFSIOS_COUNTSMAX,
120 };                                                120 };
121                                                   121 
                                                   >> 122 /*
                                                   >> 123  * NFS local caching servicing counters
                                                   >> 124  */
                                                   >> 125 enum nfs_stat_fscachecounters {
                                                   >> 126         NFSIOS_FSCACHE_PAGES_READ_OK,
                                                   >> 127         NFSIOS_FSCACHE_PAGES_READ_FAIL,
                                                   >> 128         NFSIOS_FSCACHE_PAGES_WRITTEN_OK,
                                                   >> 129         NFSIOS_FSCACHE_PAGES_WRITTEN_FAIL,
                                                   >> 130         NFSIOS_FSCACHE_PAGES_UNCACHED,
                                                   >> 131         __NFSIOS_FSCACHEMAX,
                                                   >> 132 };
                                                   >> 133 
122 #endif  /* _LINUX_NFS_IOSTAT */                   134 #endif  /* _LINUX_NFS_IOSTAT */
123                                                   135 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php