Commit 03cdd0e4 authored by David Howells's avatar David Howells

FS-Cache: Count the number of initialised operations

Count and display through /proc/fs/fscache/stats the number of initialised
operations.
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
Reviewed-by: default avatarSteve Dickson <steved@redhat.com>
Acked-by: default avatarJeff Layton <jeff.layton@primarydata.com>
parent 1339ec98
...@@ -284,8 +284,9 @@ proc files. ...@@ -284,8 +284,9 @@ proc files.
enq=N Number of times async ops queued for processing enq=N Number of times async ops queued for processing
can=N Number of async ops cancelled can=N Number of async ops cancelled
rej=N Number of async ops rejected due to object lookup/create failure rej=N Number of async ops rejected due to object lookup/create failure
ini=N Number of async ops initialised
dfr=N Number of async ops queued for deferred release dfr=N Number of async ops queued for deferred release
rel=N Number of async ops released rel=N Number of async ops released (should equal ini=N when idle)
gc=N Number of deferred-release async ops garbage collected gc=N Number of deferred-release async ops garbage collected
CacheOp alo=N Number of in-progress alloc_object() cache ops CacheOp alo=N Number of in-progress alloc_object() cache ops
luo=N Number of in-progress lookup_object() cache ops luo=N Number of in-progress lookup_object() cache ops
......
...@@ -165,6 +165,7 @@ extern atomic_t fscache_n_op_pend; ...@@ -165,6 +165,7 @@ extern atomic_t fscache_n_op_pend;
extern atomic_t fscache_n_op_run; extern atomic_t fscache_n_op_run;
extern atomic_t fscache_n_op_enqueue; extern atomic_t fscache_n_op_enqueue;
extern atomic_t fscache_n_op_deferred_release; extern atomic_t fscache_n_op_deferred_release;
extern atomic_t fscache_n_op_initialised;
extern atomic_t fscache_n_op_release; extern atomic_t fscache_n_op_release;
extern atomic_t fscache_n_op_gc; extern atomic_t fscache_n_op_gc;
extern atomic_t fscache_n_op_cancelled; extern atomic_t fscache_n_op_cancelled;
......
...@@ -39,6 +39,7 @@ void fscache_operation_init(struct fscache_operation *op, ...@@ -39,6 +39,7 @@ void fscache_operation_init(struct fscache_operation *op,
op->processor = processor; op->processor = processor;
op->release = release; op->release = release;
INIT_LIST_HEAD(&op->pend_link); INIT_LIST_HEAD(&op->pend_link);
fscache_stat(&fscache_n_op_initialised);
} }
EXPORT_SYMBOL(fscache_operation_init); EXPORT_SYMBOL(fscache_operation_init);
......
...@@ -23,6 +23,7 @@ atomic_t fscache_n_op_run; ...@@ -23,6 +23,7 @@ atomic_t fscache_n_op_run;
atomic_t fscache_n_op_enqueue; atomic_t fscache_n_op_enqueue;
atomic_t fscache_n_op_requeue; atomic_t fscache_n_op_requeue;
atomic_t fscache_n_op_deferred_release; atomic_t fscache_n_op_deferred_release;
atomic_t fscache_n_op_initialised;
atomic_t fscache_n_op_release; atomic_t fscache_n_op_release;
atomic_t fscache_n_op_gc; atomic_t fscache_n_op_gc;
atomic_t fscache_n_op_cancelled; atomic_t fscache_n_op_cancelled;
...@@ -251,7 +252,8 @@ static int fscache_stats_show(struct seq_file *m, void *v) ...@@ -251,7 +252,8 @@ static int fscache_stats_show(struct seq_file *m, void *v)
atomic_read(&fscache_n_op_enqueue), atomic_read(&fscache_n_op_enqueue),
atomic_read(&fscache_n_op_cancelled), atomic_read(&fscache_n_op_cancelled),
atomic_read(&fscache_n_op_rejected)); atomic_read(&fscache_n_op_rejected));
seq_printf(m, "Ops : dfr=%u rel=%u gc=%u\n", seq_printf(m, "Ops : ini=%u dfr=%u rel=%u gc=%u\n",
atomic_read(&fscache_n_op_initialised),
atomic_read(&fscache_n_op_deferred_release), atomic_read(&fscache_n_op_deferred_release),
atomic_read(&fscache_n_op_release), atomic_read(&fscache_n_op_release),
atomic_read(&fscache_n_op_gc)); atomic_read(&fscache_n_op_gc));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment