| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* | 
| Uwe Zeisberger | f30c226 | 2006-10-03 23:01:26 +0200 | [diff] [blame] | 2 | * linux/include/linux/nfsd/stats.h | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |  | 
| Shankar Anand | e2b2095 | 2006-07-10 04:45:44 -0700 | [diff] [blame] | 12 | #include <linux/nfs4.h> | 
|  | 13 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 */ | 
| Shankar Anand | e2b2095 | 2006-07-10 04:45:44 -0700 | [diff] [blame] | 32 | #ifdef CONFIG_NFSD_V4 | 
|  | 33 | unsigned int	nfs4_opcount[LAST_NFS4_OP + 1];	/* count of individual nfsv4 operations */ | 
|  | 34 | #endif | 
|  | 35 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 */ |