Lines Matching refs:stats

194 void dm_stats_init(struct dm_stats *stats)  in dm_stats_init()  argument
199 mutex_init(&stats->mutex); in dm_stats_init()
200 INIT_LIST_HEAD(&stats->list); in dm_stats_init()
201 stats->last = alloc_percpu(struct dm_stats_last_position); in dm_stats_init()
203 last = per_cpu_ptr(stats->last, cpu); in dm_stats_init()
209 void dm_stats_cleanup(struct dm_stats *stats) in dm_stats_cleanup() argument
215 while (!list_empty(&stats->list)) { in dm_stats_cleanup()
216 s = container_of(stats->list.next, struct dm_stat, list_entry); in dm_stats_cleanup()
233 free_percpu(stats->last); in dm_stats_cleanup()
236 static int dm_stats_create(struct dm_stats *stats, sector_t start, sector_t end, in dm_stats_create() argument
363 mutex_lock(&stats->mutex); in dm_stats_create()
365 list_for_each(l, &stats->list) { in dm_stats_create()
381 mutex_unlock(&stats->mutex); in dm_stats_create()
388 mutex_unlock(&stats->mutex); in dm_stats_create()
395 static struct dm_stat *__dm_stats_find(struct dm_stats *stats, int id) in __dm_stats_find() argument
399 list_for_each_entry(s, &stats->list, list_entry) { in __dm_stats_find()
409 static int dm_stats_delete(struct dm_stats *stats, int id) in dm_stats_delete() argument
414 mutex_lock(&stats->mutex); in dm_stats_delete()
416 s = __dm_stats_find(stats, id); in dm_stats_delete()
418 mutex_unlock(&stats->mutex); in dm_stats_delete()
423 mutex_unlock(&stats->mutex); in dm_stats_delete()
444 static int dm_stats_list(struct dm_stats *stats, const char *program, in dm_stats_list() argument
456 mutex_lock(&stats->mutex); in dm_stats_list()
457 list_for_each_entry(s, &stats->list, list_entry) { in dm_stats_list()
480 mutex_unlock(&stats->mutex); in dm_stats_list()
625 void dm_stats_account_io(struct dm_stats *stats, unsigned long bi_rw, in dm_stats_account_io() argument
645 last = raw_cpu_ptr(stats->last); in dm_stats_account_io()
658 list_for_each_entry_rcu(s, &stats->list, list_entry) { in dm_stats_account_io()
759 static int dm_stats_clear(struct dm_stats *stats, int id) in dm_stats_clear() argument
763 mutex_lock(&stats->mutex); in dm_stats_clear()
765 s = __dm_stats_find(stats, id); in dm_stats_clear()
767 mutex_unlock(&stats->mutex); in dm_stats_clear()
773 mutex_unlock(&stats->mutex); in dm_stats_clear()
802 static int dm_stats_print(struct dm_stats *stats, int id, in dm_stats_print() argument
818 mutex_lock(&stats->mutex); in dm_stats_print()
820 s = __dm_stats_find(stats, id); in dm_stats_print()
822 mutex_unlock(&stats->mutex); in dm_stats_print()
877 mutex_unlock(&stats->mutex); in dm_stats_print()
882 static int dm_stats_set_aux(struct dm_stats *stats, int id, const char *aux_data) in dm_stats_set_aux() argument
887 mutex_lock(&stats->mutex); in dm_stats_set_aux()
889 s = __dm_stats_find(stats, id); in dm_stats_set_aux()
891 mutex_unlock(&stats->mutex); in dm_stats_set_aux()
897 mutex_unlock(&stats->mutex); in dm_stats_set_aux()
904 mutex_unlock(&stats->mutex); in dm_stats_set_aux()