Lines Matching defs:stats
65 list_for_each_entry_rcu(cb, &q->stats->callbacks, list) {
151 spin_lock_irqsave(&q->stats->lock, flags);
152 list_add_tail_rcu(&cb->list, &q->stats->callbacks);
154 spin_unlock_irqrestore(&q->stats->lock, flags);
162 spin_lock_irqsave(&q->stats->lock, flags);
164 if (list_empty(&q->stats->callbacks) && !q->stats->accounting)
166 spin_unlock_irqrestore(&q->stats->lock, flags);
191 spin_lock_irqsave(&q->stats->lock, flags);
192 if (!--q->stats->accounting && list_empty(&q->stats->callbacks))
194 spin_unlock_irqrestore(&q->stats->lock, flags);
202 spin_lock_irqsave(&q->stats->lock, flags);
203 if (!q->stats->accounting++ && list_empty(&q->stats->callbacks))
205 spin_unlock_irqrestore(&q->stats->lock, flags);
211 struct blk_queue_stats *stats;
213 stats = kmalloc(sizeof(*stats), GFP_KERNEL);
214 if (!stats)
217 INIT_LIST_HEAD(&stats->callbacks);
218 spin_lock_init(&stats->lock);
219 stats->accounting = 0;
221 return stats;
224 void blk_free_queue_stats(struct blk_queue_stats *stats)
226 if (!stats)
229 WARN_ON(!list_empty(&stats->callbacks));
231 kfree(stats);