#include <linux/elevator.h>
#include <linux/blk-mq.h>
#define DM_MSG_PREFIX "core-rq"
struct mapped_device *md;
struct request *orig, *clone;
struct kthread_work work;
struct dm_stats_aux stats_aux;
unsigned long duration_jiffies;
#define DM_MQ_NR_HW_QUEUES 1
#define DM_MQ_QUEUE_DEPTH 2048
static unsigned dm_mq_nr_hw_queues = DM_MQ_NR_HW_QUEUES;
static unsigned dm_mq_queue_depth = DM_MQ_QUEUE_DEPTH;
#define RESERVED_REQUEST_BASED_IOS 256
static unsigned reserved_rq_based_ios = RESERVED_REQUEST_BASED_IOS;
unsigned dm_get_reserved_rq_based_ios(void)
return __dm_get_module_param(&reserved_rq_based_ios,
RESERVED_REQUEST_BASED_IOS, DM_RESERVED_MAX_IOS);
EXPORT_SYMBOL_GPL(dm_get_reserved_rq_based_ios);
static unsigned dm_get_blk_mq_nr_hw_queues(void)
return __dm_get_module_param(&dm_mq_nr_hw_queues, 1, 32);
static unsigned dm_get_blk_mq_queue_depth(void)
return __dm_get_module_param(&dm_mq_queue_depth,
DM_MQ_QUEUE_DEPTH, BLK_MQ_MAX_DEPTH);
int dm_request_based(struct mapped_device *md)
return queue_is_mq(md->queue);