~ [ 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-4.11.12)


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

~ [ 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