blk_mq_hw_ctx
Regular
4.4
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct delayed_work run_work;
struct delayed_work delay_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct blk_mq_ctxmap ctx_map;
unsigned int nr_ctx;
struct blk_mq_ctx **ctxs;
atomic_t wait_index;
struct blk_mq_tags *tags;
long unsigned int queued;
long unsigned int run;
long unsigned int dispatched[10];
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
struct blk_mq_cpu_notifier cpu_notifier;
struct kobject kobj;
long unsigned int poll_invoked;
long unsigned int poll_success;
};
4.8
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct delayed_work run_work;
struct delayed_work delay_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct blk_mq_ctxmap ctx_map;
unsigned int nr_ctx;
struct blk_mq_ctx **ctxs;
atomic_t wait_index;
struct blk_mq_tags *tags;
long unsigned int queued;
long unsigned int run;
long unsigned int dispatched[10];
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
struct blk_mq_cpu_notifier cpu_notifier;
struct kobject kobj;
long unsigned int poll_invoked;
long unsigned int poll_success;
};
4.10
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct work_struct run_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct sbitmap ctx_map;
struct blk_mq_ctx **ctxs;
unsigned int nr_ctx;
atomic_t wait_index;
struct blk_mq_tags *tags;
struct srcu_struct queue_rq_srcu;
long unsigned int queued;
long unsigned int run;
long unsigned int dispatched[7];
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
struct delayed_work delay_work;
struct hlist_node cpuhp_dead;
struct kobject kobj;
long unsigned int poll_considered;
long unsigned int poll_invoked;
long unsigned int poll_success;
};
4.13
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct delayed_work run_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
void *sched_data;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct sbitmap ctx_map;
struct blk_mq_ctx **ctxs;
unsigned int nr_ctx;
wait_queue_entry_t dispatch_wait;
atomic_t wait_index;
struct blk_mq_tags *tags;
struct blk_mq_tags *sched_tags;
long unsigned int queued;
long unsigned int run;
long unsigned int dispatched[7];
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
struct hlist_node cpuhp_dead;
struct kobject kobj;
long unsigned int poll_considered;
long unsigned int poll_invoked;
long unsigned int poll_success;
struct dentry *debugfs_dir;
struct dentry *sched_debugfs_dir;
struct srcu_struct queue_rq_srcu[0];
};
4.15
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct delayed_work run_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
void *sched_data;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct sbitmap ctx_map;
struct blk_mq_ctx *dispatch_from;
struct blk_mq_ctx **ctxs;
unsigned int nr_ctx;
wait_queue_entry_t dispatch_wait;
atomic_t wait_index;
struct blk_mq_tags *tags;
struct blk_mq_tags *sched_tags;
long unsigned int queued;
long unsigned int run;
long unsigned int dispatched[7];
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
struct hlist_node cpuhp_dead;
struct kobject kobj;
long unsigned int poll_considered;
long unsigned int poll_invoked;
long unsigned int poll_success;
struct dentry *debugfs_dir;
struct dentry *sched_debugfs_dir;
struct srcu_struct queue_rq_srcu[0];
};
4.18
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct delayed_work run_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
void *sched_data;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct sbitmap ctx_map;
struct blk_mq_ctx *dispatch_from;
struct blk_mq_ctx **ctxs;
unsigned int nr_ctx;
wait_queue_entry_t dispatch_wait;
atomic_t wait_index;
struct blk_mq_tags *tags;
struct blk_mq_tags *sched_tags;
long unsigned int queued;
long unsigned int run;
long unsigned int dispatched[7];
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
unsigned int nr_expired;
struct hlist_node cpuhp_dead;
struct kobject kobj;
long unsigned int poll_considered;
long unsigned int poll_invoked;
long unsigned int poll_success;
struct dentry *debugfs_dir;
struct dentry *sched_debugfs_dir;
struct srcu_struct srcu[0];
};
5.0
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct delayed_work run_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
void *sched_data;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct sbitmap ctx_map;
struct blk_mq_ctx *dispatch_from;
unsigned int dispatch_busy;
short unsigned int type;
short unsigned int nr_ctx;
struct blk_mq_ctx **ctxs;
spinlock_t dispatch_wait_lock;
wait_queue_entry_t dispatch_wait;
atomic_t wait_index;
struct blk_mq_tags *tags;
struct blk_mq_tags *sched_tags;
long unsigned int queued;
long unsigned int run;
long unsigned int dispatched[7];
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
unsigned int nr_expired;
struct hlist_node cpuhp_dead;
struct kobject kobj;
long unsigned int poll_considered;
long unsigned int poll_invoked;
long unsigned int poll_success;
struct dentry *debugfs_dir;
struct dentry *sched_debugfs_dir;
struct srcu_struct srcu[0];
};
5.3
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct delayed_work run_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
void *sched_data;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct sbitmap ctx_map;
struct blk_mq_ctx *dispatch_from;
unsigned int dispatch_busy;
short unsigned int type;
short unsigned int nr_ctx;
struct blk_mq_ctx **ctxs;
spinlock_t dispatch_wait_lock;
wait_queue_entry_t dispatch_wait;
atomic_t wait_index;
struct blk_mq_tags *tags;
struct blk_mq_tags *sched_tags;
long unsigned int queued;
long unsigned int run;
long unsigned int dispatched[7];
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
struct hlist_node cpuhp_dead;
struct kobject kobj;
long unsigned int poll_considered;
long unsigned int poll_invoked;
long unsigned int poll_success;
struct dentry *debugfs_dir;
struct dentry *sched_debugfs_dir;
struct list_head hctx_list;
struct srcu_struct srcu[0];
};
5.4
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct delayed_work run_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
void *sched_data;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct sbitmap ctx_map;
struct blk_mq_ctx *dispatch_from;
unsigned int dispatch_busy;
short unsigned int type;
short unsigned int nr_ctx;
struct blk_mq_ctx **ctxs;
spinlock_t dispatch_wait_lock;
wait_queue_entry_t dispatch_wait;
atomic_t wait_index;
struct blk_mq_tags *tags;
struct blk_mq_tags *sched_tags;
long unsigned int queued;
long unsigned int run;
long unsigned int dispatched[7];
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
struct hlist_node cpuhp_dead;
struct kobject kobj;
long unsigned int poll_considered;
long unsigned int poll_invoked;
long unsigned int poll_success;
struct dentry *debugfs_dir;
struct dentry *sched_debugfs_dir;
struct list_head hctx_list;
struct srcu_struct srcu[0];
};
5.8
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct delayed_work run_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
void *sched_data;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct sbitmap ctx_map;
struct blk_mq_ctx *dispatch_from;
unsigned int dispatch_busy;
short unsigned int type;
short unsigned int nr_ctx;
struct blk_mq_ctx **ctxs;
spinlock_t dispatch_wait_lock;
wait_queue_entry_t dispatch_wait;
atomic_t wait_index;
struct blk_mq_tags *tags;
struct blk_mq_tags *sched_tags;
long unsigned int queued;
long unsigned int run;
long unsigned int dispatched[7];
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
struct hlist_node cpuhp_online;
struct hlist_node cpuhp_dead;
struct kobject kobj;
long unsigned int poll_considered;
long unsigned int poll_invoked;
long unsigned int poll_success;
struct dentry *debugfs_dir;
struct dentry *sched_debugfs_dir;
struct list_head hctx_list;
struct srcu_struct srcu[0];
};
5.11
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct delayed_work run_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
void *sched_data;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct sbitmap ctx_map;
struct blk_mq_ctx *dispatch_from;
unsigned int dispatch_busy;
short unsigned int type;
short unsigned int nr_ctx;
struct blk_mq_ctx **ctxs;
spinlock_t dispatch_wait_lock;
wait_queue_entry_t dispatch_wait;
atomic_t wait_index;
struct blk_mq_tags *tags;
struct blk_mq_tags *sched_tags;
long unsigned int queued;
long unsigned int run;
long unsigned int dispatched[7];
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
atomic_t elevator_queued;
struct hlist_node cpuhp_online;
struct hlist_node cpuhp_dead;
struct kobject kobj;
long unsigned int poll_considered;
long unsigned int poll_invoked;
long unsigned int poll_success;
struct dentry *debugfs_dir;
struct dentry *sched_debugfs_dir;
struct list_head hctx_list;
struct srcu_struct srcu[0];
};
5.13
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct delayed_work run_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
void *sched_data;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct sbitmap ctx_map;
struct blk_mq_ctx *dispatch_from;
unsigned int dispatch_busy;
short unsigned int type;
short unsigned int nr_ctx;
struct blk_mq_ctx **ctxs;
spinlock_t dispatch_wait_lock;
wait_queue_entry_t dispatch_wait;
atomic_t wait_index;
struct blk_mq_tags *tags;
struct blk_mq_tags *sched_tags;
long unsigned int queued;
long unsigned int run;
long unsigned int dispatched[7];
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
struct hlist_node cpuhp_online;
struct hlist_node cpuhp_dead;
struct kobject kobj;
long unsigned int poll_considered;
long unsigned int poll_invoked;
long unsigned int poll_success;
struct dentry *debugfs_dir;
struct dentry *sched_debugfs_dir;
struct list_head hctx_list;
struct srcu_struct srcu[0];
};
5.15
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct delayed_work run_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
void *sched_data;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct sbitmap ctx_map;
struct blk_mq_ctx *dispatch_from;
unsigned int dispatch_busy;
short unsigned int type;
short unsigned int nr_ctx;
struct blk_mq_ctx **ctxs;
spinlock_t dispatch_wait_lock;
wait_queue_entry_t dispatch_wait;
atomic_t wait_index;
struct blk_mq_tags *tags;
struct blk_mq_tags *sched_tags;
long unsigned int queued;
long unsigned int run;
long unsigned int dispatched[7];
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
struct hlist_node cpuhp_online;
struct hlist_node cpuhp_dead;
struct kobject kobj;
long unsigned int poll_considered;
long unsigned int poll_invoked;
long unsigned int poll_success;
struct dentry *debugfs_dir;
struct dentry *sched_debugfs_dir;
struct list_head hctx_list;
struct srcu_struct srcu[0];
};
5.19
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct delayed_work run_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
void *sched_data;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct sbitmap ctx_map;
struct blk_mq_ctx *dispatch_from;
unsigned int dispatch_busy;
short unsigned int type;
short unsigned int nr_ctx;
struct blk_mq_ctx **ctxs;
spinlock_t dispatch_wait_lock;
wait_queue_entry_t dispatch_wait;
atomic_t wait_index;
struct blk_mq_tags *tags;
struct blk_mq_tags *sched_tags;
long unsigned int queued;
long unsigned int run;
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
struct hlist_node cpuhp_online;
struct hlist_node cpuhp_dead;
struct kobject kobj;
struct dentry *debugfs_dir;
struct dentry *sched_debugfs_dir;
struct list_head hctx_list;
};
6.2
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct delayed_work run_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
void *sched_data;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct sbitmap ctx_map;
struct blk_mq_ctx *dispatch_from;
unsigned int dispatch_busy;
short unsigned int type;
short unsigned int nr_ctx;
struct blk_mq_ctx **ctxs;
spinlock_t dispatch_wait_lock;
wait_queue_entry_t dispatch_wait;
atomic_t wait_index;
struct blk_mq_tags *tags;
struct blk_mq_tags *sched_tags;
long unsigned int queued;
long unsigned int run;
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
struct hlist_node cpuhp_online;
struct hlist_node cpuhp_dead;
struct kobject kobj;
struct dentry *debugfs_dir;
struct dentry *sched_debugfs_dir;
struct list_head hctx_list;
};
6.5
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct delayed_work run_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
void *sched_data;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct sbitmap ctx_map;
struct blk_mq_ctx *dispatch_from;
unsigned int dispatch_busy;
short unsigned int type;
short unsigned int nr_ctx;
struct blk_mq_ctx **ctxs;
spinlock_t dispatch_wait_lock;
wait_queue_entry_t dispatch_wait;
atomic_t wait_index;
struct blk_mq_tags *tags;
struct blk_mq_tags *sched_tags;
long unsigned int run;
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
struct hlist_node cpuhp_online;
struct hlist_node cpuhp_dead;
struct kobject kobj;
struct dentry *debugfs_dir;
struct dentry *sched_debugfs_dir;
struct list_head hctx_list;
};
6.8
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct delayed_work run_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
void *sched_data;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct sbitmap ctx_map;
struct blk_mq_ctx *dispatch_from;
unsigned int dispatch_busy;
short unsigned int type;
short unsigned int nr_ctx;
struct blk_mq_ctx **ctxs;
spinlock_t dispatch_wait_lock;
wait_queue_entry_t dispatch_wait;
atomic_t wait_index;
struct blk_mq_tags *tags;
struct blk_mq_tags *sched_tags;
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
struct hlist_node cpuhp_online;
struct hlist_node cpuhp_dead;
struct kobject kobj;
struct dentry *debugfs_dir;
struct dentry *sched_debugfs_dir;
struct list_head hctx_list;
};
arm64
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct delayed_work run_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
void *sched_data;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct sbitmap ctx_map;
struct blk_mq_ctx *dispatch_from;
unsigned int dispatch_busy;
short unsigned int type;
short unsigned int nr_ctx;
struct blk_mq_ctx **ctxs;
spinlock_t dispatch_wait_lock;
wait_queue_entry_t dispatch_wait;
atomic_t wait_index;
struct blk_mq_tags *tags;
struct blk_mq_tags *sched_tags;
long unsigned int queued;
long unsigned int run;
long unsigned int dispatched[7];
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
struct hlist_node cpuhp_dead;
struct kobject kobj;
long unsigned int poll_considered;
long unsigned int poll_invoked;
long unsigned int poll_success;
struct dentry *debugfs_dir;
struct dentry *sched_debugfs_dir;
struct list_head hctx_list;
struct srcu_struct srcu[0];
};
armhf
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct delayed_work run_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
void *sched_data;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct sbitmap ctx_map;
struct blk_mq_ctx *dispatch_from;
unsigned int dispatch_busy;
short unsigned int type;
short unsigned int nr_ctx;
struct blk_mq_ctx **ctxs;
spinlock_t dispatch_wait_lock;
wait_queue_entry_t dispatch_wait;
atomic_t wait_index;
struct blk_mq_tags *tags;
struct blk_mq_tags *sched_tags;
long unsigned int queued;
long unsigned int run;
long unsigned int dispatched[7];
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
struct hlist_node cpuhp_dead;
struct kobject kobj;
long unsigned int poll_considered;
long unsigned int poll_invoked;
long unsigned int poll_success;
struct dentry *debugfs_dir;
struct dentry *sched_debugfs_dir;
struct list_head hctx_list;
struct srcu_struct srcu[0];
};
ppc64el
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct delayed_work run_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
void *sched_data;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct sbitmap ctx_map;
struct blk_mq_ctx *dispatch_from;
unsigned int dispatch_busy;
short unsigned int type;
short unsigned int nr_ctx;
struct blk_mq_ctx **ctxs;
spinlock_t dispatch_wait_lock;
wait_queue_entry_t dispatch_wait;
atomic_t wait_index;
struct blk_mq_tags *tags;
struct blk_mq_tags *sched_tags;
long unsigned int queued;
long unsigned int run;
long unsigned int dispatched[7];
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
struct hlist_node cpuhp_dead;
struct kobject kobj;
long unsigned int poll_considered;
long unsigned int poll_invoked;
long unsigned int poll_success;
struct dentry *debugfs_dir;
struct dentry *sched_debugfs_dir;
struct list_head hctx_list;
struct srcu_struct srcu[0];
};
riscv64
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct delayed_work run_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
void *sched_data;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct sbitmap ctx_map;
struct blk_mq_ctx *dispatch_from;
unsigned int dispatch_busy;
short unsigned int type;
short unsigned int nr_ctx;
struct blk_mq_ctx **ctxs;
spinlock_t dispatch_wait_lock;
wait_queue_entry_t dispatch_wait;
atomic_t wait_index;
struct blk_mq_tags *tags;
struct blk_mq_tags *sched_tags;
long unsigned int queued;
long unsigned int run;
long unsigned int dispatched[7];
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
struct hlist_node cpuhp_dead;
struct kobject kobj;
long unsigned int poll_considered;
long unsigned int poll_invoked;
long unsigned int poll_success;
struct dentry *debugfs_dir;
struct dentry *sched_debugfs_dir;
struct list_head hctx_list;
struct srcu_struct srcu[0];
};
aws
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct delayed_work run_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
void *sched_data;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct sbitmap ctx_map;
struct blk_mq_ctx *dispatch_from;
unsigned int dispatch_busy;
short unsigned int type;
short unsigned int nr_ctx;
struct blk_mq_ctx **ctxs;
spinlock_t dispatch_wait_lock;
wait_queue_entry_t dispatch_wait;
atomic_t wait_index;
struct blk_mq_tags *tags;
struct blk_mq_tags *sched_tags;
long unsigned int queued;
long unsigned int run;
long unsigned int dispatched[7];
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
struct hlist_node cpuhp_dead;
struct kobject kobj;
long unsigned int poll_considered;
long unsigned int poll_invoked;
long unsigned int poll_success;
struct dentry *debugfs_dir;
struct dentry *sched_debugfs_dir;
struct list_head hctx_list;
struct srcu_struct srcu[0];
};
azure
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct delayed_work run_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
void *sched_data;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct sbitmap ctx_map;
struct blk_mq_ctx *dispatch_from;
unsigned int dispatch_busy;
short unsigned int type;
short unsigned int nr_ctx;
struct blk_mq_ctx **ctxs;
spinlock_t dispatch_wait_lock;
wait_queue_entry_t dispatch_wait;
atomic_t wait_index;
struct blk_mq_tags *tags;
struct blk_mq_tags *sched_tags;
long unsigned int queued;
long unsigned int run;
long unsigned int dispatched[7];
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
struct hlist_node cpuhp_dead;
struct kobject kobj;
long unsigned int poll_considered;
long unsigned int poll_invoked;
long unsigned int poll_success;
struct dentry *debugfs_dir;
struct dentry *sched_debugfs_dir;
struct list_head hctx_list;
struct srcu_struct srcu[0];
};
gcp
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct delayed_work run_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
void *sched_data;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct sbitmap ctx_map;
struct blk_mq_ctx *dispatch_from;
unsigned int dispatch_busy;
short unsigned int type;
short unsigned int nr_ctx;
struct blk_mq_ctx **ctxs;
spinlock_t dispatch_wait_lock;
wait_queue_entry_t dispatch_wait;
atomic_t wait_index;
struct blk_mq_tags *tags;
struct blk_mq_tags *sched_tags;
long unsigned int queued;
long unsigned int run;
long unsigned int dispatched[7];
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
struct hlist_node cpuhp_dead;
struct kobject kobj;
long unsigned int poll_considered;
long unsigned int poll_invoked;
long unsigned int poll_success;
struct dentry *debugfs_dir;
struct dentry *sched_debugfs_dir;
struct list_head hctx_list;
struct srcu_struct srcu[0];
};
lowlatency
: ✅struct blk_mq_hw_ctx {
spinlock_t lock;
struct list_head dispatch;
long unsigned int state;
struct delayed_work run_work;
cpumask_var_t cpumask;
int next_cpu;
int next_cpu_batch;
long unsigned int flags;
void *sched_data;
struct request_queue *queue;
struct blk_flush_queue *fq;
void *driver_data;
struct sbitmap ctx_map;
struct blk_mq_ctx *dispatch_from;
unsigned int dispatch_busy;
short unsigned int type;
short unsigned int nr_ctx;
struct blk_mq_ctx **ctxs;
spinlock_t dispatch_wait_lock;
wait_queue_entry_t dispatch_wait;
atomic_t wait_index;
struct blk_mq_tags *tags;
struct blk_mq_tags *sched_tags;
long unsigned int queued;
long unsigned int run;
long unsigned int dispatched[7];
unsigned int numa_node;
unsigned int queue_num;
atomic_t nr_active;
struct hlist_node cpuhp_dead;
struct kobject kobj;
long unsigned int poll_considered;
long unsigned int poll_invoked;
long unsigned int poll_success;
struct dentry *debugfs_dir;
struct dentry *sched_debugfs_dir;
struct list_head hctx_list;
struct srcu_struct srcu[0];
};
Regular
4.4
and 4.8
✅
4.8
and 4.10
⚠️struct srcu_struct queue_rq_srcu
struct hlist_node cpuhp_dead
long unsigned int poll_considered
struct blk_mq_cpu_notifier cpu_notifier
struct delayed_work run_work
➡️ struct work_struct run_work
struct blk_mq_ctxmap ctx_map
➡️ struct sbitmap ctx_map
long unsigned int dispatched[10]
➡️ long unsigned int dispatched[7]
4.10
and 4.13
⚠️void *sched_data
wait_queue_entry_t dispatch_wait
struct blk_mq_tags *sched_tags
struct dentry *debugfs_dir
struct dentry *sched_debugfs_dir
struct delayed_work delay_work
struct work_struct run_work
➡️ struct delayed_work run_work
struct srcu_struct queue_rq_srcu
➡️ struct srcu_struct queue_rq_srcu[0]
4.13
and 4.15
⚠️struct blk_mq_ctx *dispatch_from
4.15
and 4.18
⚠️unsigned int nr_expired
struct srcu_struct srcu[0]
struct srcu_struct queue_rq_srcu[0]
4.18
and 5.0
⚠️unsigned int dispatch_busy
short unsigned int type
spinlock_t dispatch_wait_lock
unsigned int nr_ctx
➡️ short unsigned int nr_ctx
5.0
and 5.3
⚠️struct list_head hctx_list
unsigned int nr_expired
5.3
and 5.4
✅
5.4
and 5.8
⚠️struct hlist_node cpuhp_online
5.8
and 5.11
⚠️atomic_t elevator_queued
5.11
and 5.13
⚠️atomic_t elevator_queued
5.13
and 5.15
✅
5.15
and 5.19
⚠️long unsigned int dispatched[7]
long unsigned int poll_considered
long unsigned int poll_invoked
long unsigned int poll_success
struct srcu_struct srcu[0]
5.19
and 6.2
✅
6.2
and 6.5
⚠️long unsigned int queued
6.5
and 6.8
⚠️long unsigned int run
amd64
and arm64
✅
amd64
and armhf
✅
amd64
and ppc64el
✅
amd64
and riscv64
✅
generic
and aws
✅
generic
and azure
✅
generic
and gcp
✅
generic
and lowlatency
✅