0001
0002
0003
0004
0005
0006
0007
0008 #define FSCACHE_DEBUG_LEVEL CACHE
0009 #include <linux/proc_fs.h>
0010 #include <linux/seq_file.h>
0011 #include "internal.h"
0012
0013
0014
0015
0016 atomic_t fscache_n_volumes;
0017 atomic_t fscache_n_volumes_collision;
0018 atomic_t fscache_n_volumes_nomem;
0019 atomic_t fscache_n_cookies;
0020 atomic_t fscache_n_cookies_lru;
0021 atomic_t fscache_n_cookies_lru_expired;
0022 atomic_t fscache_n_cookies_lru_removed;
0023 atomic_t fscache_n_cookies_lru_dropped;
0024
0025 atomic_t fscache_n_acquires;
0026 atomic_t fscache_n_acquires_ok;
0027 atomic_t fscache_n_acquires_oom;
0028
0029 atomic_t fscache_n_invalidates;
0030
0031 atomic_t fscache_n_updates;
0032 EXPORT_SYMBOL(fscache_n_updates);
0033
0034 atomic_t fscache_n_relinquishes;
0035 atomic_t fscache_n_relinquishes_retire;
0036 atomic_t fscache_n_relinquishes_dropped;
0037
0038 atomic_t fscache_n_resizes;
0039 atomic_t fscache_n_resizes_null;
0040
0041 atomic_t fscache_n_read;
0042 EXPORT_SYMBOL(fscache_n_read);
0043 atomic_t fscache_n_write;
0044 EXPORT_SYMBOL(fscache_n_write);
0045 atomic_t fscache_n_no_write_space;
0046 EXPORT_SYMBOL(fscache_n_no_write_space);
0047 atomic_t fscache_n_no_create_space;
0048 EXPORT_SYMBOL(fscache_n_no_create_space);
0049 atomic_t fscache_n_culled;
0050 EXPORT_SYMBOL(fscache_n_culled);
0051
0052
0053
0054
0055 int fscache_stats_show(struct seq_file *m, void *v)
0056 {
0057 seq_puts(m, "FS-Cache statistics\n");
0058 seq_printf(m, "Cookies: n=%d v=%d vcol=%u voom=%u\n",
0059 atomic_read(&fscache_n_cookies),
0060 atomic_read(&fscache_n_volumes),
0061 atomic_read(&fscache_n_volumes_collision),
0062 atomic_read(&fscache_n_volumes_nomem)
0063 );
0064
0065 seq_printf(m, "Acquire: n=%u ok=%u oom=%u\n",
0066 atomic_read(&fscache_n_acquires),
0067 atomic_read(&fscache_n_acquires_ok),
0068 atomic_read(&fscache_n_acquires_oom));
0069
0070 seq_printf(m, "LRU : n=%u exp=%u rmv=%u drp=%u at=%ld\n",
0071 atomic_read(&fscache_n_cookies_lru),
0072 atomic_read(&fscache_n_cookies_lru_expired),
0073 atomic_read(&fscache_n_cookies_lru_removed),
0074 atomic_read(&fscache_n_cookies_lru_dropped),
0075 timer_pending(&fscache_cookie_lru_timer) ?
0076 fscache_cookie_lru_timer.expires - jiffies : 0);
0077
0078 seq_printf(m, "Invals : n=%u\n",
0079 atomic_read(&fscache_n_invalidates));
0080
0081 seq_printf(m, "Updates: n=%u rsz=%u rsn=%u\n",
0082 atomic_read(&fscache_n_updates),
0083 atomic_read(&fscache_n_resizes),
0084 atomic_read(&fscache_n_resizes_null));
0085
0086 seq_printf(m, "Relinqs: n=%u rtr=%u drop=%u\n",
0087 atomic_read(&fscache_n_relinquishes),
0088 atomic_read(&fscache_n_relinquishes_retire),
0089 atomic_read(&fscache_n_relinquishes_dropped));
0090
0091 seq_printf(m, "NoSpace: nwr=%u ncr=%u cull=%u\n",
0092 atomic_read(&fscache_n_no_write_space),
0093 atomic_read(&fscache_n_no_create_space),
0094 atomic_read(&fscache_n_culled));
0095
0096 seq_printf(m, "IO : rd=%u wr=%u\n",
0097 atomic_read(&fscache_n_read),
0098 atomic_read(&fscache_n_write));
0099
0100 netfs_stats_show(m);
0101 return 0;
0102 }