ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / include / linux / nfsd / stats.h
1 /*
2  * linux/include/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 struct nfsd_stats {
13         unsigned int    rchits;         /* repcache hits */
14         unsigned int    rcmisses;       /* repcache hits */
15         unsigned int    rcnocache;      /* uncached reqs */
16         unsigned int    fh_stale;       /* FH stale error */
17         unsigned int    fh_lookup;      /* dentry cached */
18         unsigned int    fh_anon;        /* anon file dentry returned */
19         unsigned int    fh_nocache_dir; /* filehandle not found in dcache */
20         unsigned int    fh_nocache_nondir;      /* filehandle not found in dcache */
21         unsigned int    io_read;        /* bytes returned to read requests */
22         unsigned int    io_write;       /* bytes passed in write requests */
23         unsigned int    th_cnt;         /* number of available threads */
24         unsigned int    th_usage[10];   /* number of ticks during which n perdeciles
25                                          * of available threads were in use */
26         unsigned int    th_fullcnt;     /* number of times last free thread was used */
27         unsigned int    ra_size;        /* size of ra cache */
28         unsigned int    ra_depth[11];   /* number of times ra entry was found that deep
29                                          * in the cache (10percentiles). [10] = not found */
30 };
31
32 /* thread usage wraps very million seconds (approx one fortnight) */
33 #define NFSD_USAGE_WRAP (HZ*1000000)
34
35 #ifdef __KERNEL__
36
37 extern struct nfsd_stats        nfsdstats;
38 extern struct svc_stat          nfsd_svcstats;
39
40 void    nfsd_stat_init(void);
41 void    nfsd_stat_shutdown(void);
42
43 #endif /* __KERNEL__ */
44 #endif /* LINUX_NFSD_STATS_H */