#include <linux/kernel.h>
#include <linux/rculist.h>
#include "blk-stat.h"
#include "blk-mq.h"
#include "blk.h"
struct blk_queue_stats { … };
void blk_rq_stat_init(struct blk_rq_stat *stat)
{ … }
void blk_rq_stat_sum(struct blk_rq_stat *dst, struct blk_rq_stat *src)
{ … }
void blk_rq_stat_add(struct blk_rq_stat *stat, u64 value)
{ … }
void blk_stat_add(struct request *rq, u64 now)
{ … }
static void blk_stat_timer_fn(struct timer_list *t)
{ … }
struct blk_stat_callback *
blk_stat_alloc_callback(void (*timer_fn)(struct blk_stat_callback *),
int (*bucket_fn)(const struct request *),
unsigned int buckets, void *data)
{ … }
void blk_stat_add_callback(struct request_queue *q,
struct blk_stat_callback *cb)
{ … }
void blk_stat_remove_callback(struct request_queue *q,
struct blk_stat_callback *cb)
{ … }
static void blk_stat_free_callback_rcu(struct rcu_head *head)
{ … }
void blk_stat_free_callback(struct blk_stat_callback *cb)
{ … }
void blk_stat_disable_accounting(struct request_queue *q)
{ … }
EXPORT_SYMBOL_GPL(…);
void blk_stat_enable_accounting(struct request_queue *q)
{ … }
EXPORT_SYMBOL_GPL(…);
struct blk_queue_stats *blk_alloc_queue_stats(void)
{ … }
void blk_free_queue_stats(struct blk_queue_stats *stats)
{ … }