Merge branch 'for-2.6.30' of git://linux-nfs.org/~bfields/linux
[pandora-kernel.git] / include / linux / nfsd / stats.h
1 /*
2  * linux/include/linux/nfsd/stats.h
3  *
4  * Statistics for NFS server.
5  *
6  * Copyright (C) 1995, 1996 Olaf Kirch <okir@monad.swb.de>
7  */
8
9 #ifndef LINUX_NFSD_STATS_H
10 #define LINUX_NFSD_STATS_H
11
12 #include <linux/nfs4.h>
13
14 /* thread usage wraps very million seconds (approx one fortnight) */
15 #define NFSD_USAGE_WRAP (HZ*1000000)
16
17 #ifdef __KERNEL__
18
19 struct nfsd_stats {
20         unsigned int    rchits;         /* repcache hits */
21         unsigned int    rcmisses;       /* repcache hits */
22         unsigned int    rcnocache;      /* uncached reqs */
23         unsigned int    fh_stale;       /* FH stale error */
24         unsigned int    fh_lookup;      /* dentry cached */
25         unsigned int    fh_anon;        /* anon file dentry returned */
26         unsigned int    fh_nocache_dir; /* filehandle not found in dcache */
27         unsigned int    fh_nocache_nondir;      /* filehandle not found in dcache */
28         unsigned int    io_read;        /* bytes returned to read requests */
29         unsigned int    io_write;       /* bytes passed in write requests */
30         unsigned int    th_cnt;         /* number of available threads */
31         unsigned int    th_usage[10];   /* number of ticks during which n perdeciles
32                                          * of available threads were in use */
33         unsigned int    th_fullcnt;     /* number of times last free thread was used */
34         unsigned int    ra_size;        /* size of ra cache */
35         unsigned int    ra_depth[11];   /* number of times ra entry was found that deep
36                                          * in the cache (10percentiles). [10] = not found */
37 #ifdef CONFIG_NFSD_V4
38         unsigned int    nfs4_opcount[LAST_NFS4_OP + 1]; /* count of individual nfsv4 operations */
39 #endif
40
41 };
42
43
44 extern struct nfsd_stats        nfsdstats;
45 extern struct svc_stat          nfsd_svcstats;
46
47 void    nfsd_stat_init(void);
48 void    nfsd_stat_shutdown(void);
49
50 #endif /* __KERNEL__ */
51 #endif /* LINUX_NFSD_STATS_H */