Lines Matching refs:stats
98 list_for_each_entry_rcu(cb, &q->stats->callbacks, list) { in blk_stat_add()
184 spin_lock(&q->stats->lock); in blk_stat_add_callback()
185 list_add_tail_rcu(&cb->list, &q->stats->callbacks); in blk_stat_add_callback()
187 spin_unlock(&q->stats->lock); in blk_stat_add_callback()
194 spin_lock(&q->stats->lock); in blk_stat_remove_callback()
196 if (list_empty(&q->stats->callbacks) && !q->stats->enable_accounting) in blk_stat_remove_callback()
198 spin_unlock(&q->stats->lock); in blk_stat_remove_callback()
223 spin_lock(&q->stats->lock); in blk_stat_enable_accounting()
224 q->stats->enable_accounting = true; in blk_stat_enable_accounting()
226 spin_unlock(&q->stats->lock); in blk_stat_enable_accounting()
231 struct blk_queue_stats *stats; in blk_alloc_queue_stats() local
233 stats = kmalloc(sizeof(*stats), GFP_KERNEL); in blk_alloc_queue_stats()
234 if (!stats) in blk_alloc_queue_stats()
237 INIT_LIST_HEAD(&stats->callbacks); in blk_alloc_queue_stats()
238 spin_lock_init(&stats->lock); in blk_alloc_queue_stats()
239 stats->enable_accounting = false; in blk_alloc_queue_stats()
241 return stats; in blk_alloc_queue_stats()
244 void blk_free_queue_stats(struct blk_queue_stats *stats) in blk_free_queue_stats() argument
246 if (!stats) in blk_free_queue_stats()
249 WARN_ON(!list_empty(&stats->callbacks)); in blk_free_queue_stats()
251 kfree(stats); in blk_free_queue_stats()