Merge commit 'v2.6.29-rc1' into timers/urgent
[linux-2.6] / 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 struct nfsd_stats {
15         unsigned int    rchits;         /* repcache hits */
16         unsigned int    rcmisses;       /* repcache hits */
17         unsigned int    rcnocache;      /* uncached reqs */
18         unsigned int    fh_stale;       /* FH stale error */
19         unsigned int    fh_lookup;      /* dentry cached */
20         unsigned int    fh_anon;        /* anon file dentry returned */
21         unsigned int    fh_nocache_dir; /* filehandle not found in dcache */
22         unsigned int    fh_nocache_nondir;      /* filehandle not found in dcache */
23         unsigned int    io_read;        /* bytes returned to read requests */
24         unsigned int    io_write;       /* bytes passed in write requests */
25         unsigned int    th_cnt;         /* number of available threads */
26         unsigned int    th_usage[10];   /* number of ticks during which n perdeciles
27                                          * of available threads were in use */
28         unsigned int    th_fullcnt;     /* number of times last free thread was used */
29         unsigned int    ra_size;        /* size of ra cache */
30         unsigned int    ra_depth[11];   /* number of times ra entry was found that deep
31                                          * in the cache (10percentiles). [10] = not found */
32 #ifdef CONFIG_NFSD_V4
33         unsigned int    nfs4_opcount[LAST_NFS4_OP + 1]; /* count of individual nfsv4 operations */
34 #endif
35
36 };
37
38 /* thread usage wraps very million seconds (approx one fortnight) */
39 #define NFSD_USAGE_WRAP (HZ*1000000)
40
41 #ifdef __KERNEL__
42
43 extern struct nfsd_stats        nfsdstats;
44 extern struct svc_stat          nfsd_svcstats;
45
46 void    nfsd_stat_init(void);
47 void    nfsd_stat_shutdown(void);
48
49 #endif /* __KERNEL__ */
50 #endif /* LINUX_NFSD_STATS_H */