cfq_dataRegular
4.4: ✅struct cfq_data {
struct request_queue *queue;
struct cfq_rb_root grp_service_tree;
struct cfq_group *root_group;
enum wl_class_t serving_wl_class;
enum wl_type_t serving_wl_type;
long unsigned int workload_expires;
struct cfq_group *serving_group;
struct rb_root prio_trees[8];
unsigned int busy_queues;
unsigned int busy_sync_queues;
int rq_in_driver;
int rq_in_flight[2];
int rq_queued;
int hw_tag;
int hw_tag_est_depth;
unsigned int hw_tag_samples;
struct timer_list idle_slice_timer;
struct work_struct unplug_work;
struct cfq_queue *active_queue;
struct cfq_io_cq *active_cic;
sector_t last_position;
unsigned int cfq_quantum;
unsigned int cfq_fifo_expire[2];
unsigned int cfq_back_penalty;
unsigned int cfq_back_max;
unsigned int cfq_slice[2];
unsigned int cfq_slice_async_rq;
unsigned int cfq_slice_idle;
unsigned int cfq_group_idle;
unsigned int cfq_latency;
unsigned int cfq_target_latency;
struct cfq_queue oom_cfqq;
long unsigned int last_delayed_sync;
};
4.8: ✅struct cfq_data {
struct request_queue *queue;
struct cfq_rb_root grp_service_tree;
struct cfq_group *root_group;
enum wl_class_t serving_wl_class;
enum wl_type_t serving_wl_type;
u64 workload_expires;
struct cfq_group *serving_group;
struct rb_root prio_trees[8];
unsigned int busy_queues;
unsigned int busy_sync_queues;
int rq_in_driver;
int rq_in_flight[2];
int rq_queued;
int hw_tag;
int hw_tag_est_depth;
unsigned int hw_tag_samples;
struct hrtimer idle_slice_timer;
struct work_struct unplug_work;
struct cfq_queue *active_queue;
struct cfq_io_cq *active_cic;
sector_t last_position;
unsigned int cfq_quantum;
unsigned int cfq_back_penalty;
unsigned int cfq_back_max;
unsigned int cfq_slice_async_rq;
unsigned int cfq_latency;
u64 cfq_fifo_expire[2];
u64 cfq_slice[2];
u64 cfq_slice_idle;
u64 cfq_group_idle;
u64 cfq_target_latency;
struct cfq_queue oom_cfqq;
u64 last_delayed_sync;
};
4.10: ✅struct cfq_data {
struct request_queue *queue;
struct cfq_rb_root grp_service_tree;
struct cfq_group *root_group;
enum wl_class_t serving_wl_class;
enum wl_type_t serving_wl_type;
u64 workload_expires;
struct cfq_group *serving_group;
struct rb_root prio_trees[8];
unsigned int busy_queues;
unsigned int busy_sync_queues;
int rq_in_driver;
int rq_in_flight[2];
int rq_queued;
int hw_tag;
int hw_tag_est_depth;
unsigned int hw_tag_samples;
struct hrtimer idle_slice_timer;
struct work_struct unplug_work;
struct cfq_queue *active_queue;
struct cfq_io_cq *active_cic;
sector_t last_position;
unsigned int cfq_quantum;
unsigned int cfq_back_penalty;
unsigned int cfq_back_max;
unsigned int cfq_slice_async_rq;
unsigned int cfq_latency;
u64 cfq_fifo_expire[2];
u64 cfq_slice[2];
u64 cfq_slice_idle;
u64 cfq_group_idle;
u64 cfq_target_latency;
struct cfq_queue oom_cfqq;
u64 last_delayed_sync;
};
4.13: ✅struct cfq_data {
struct request_queue *queue;
struct cfq_rb_root grp_service_tree;
struct cfq_group *root_group;
enum wl_class_t serving_wl_class;
enum wl_type_t serving_wl_type;
u64 workload_expires;
struct cfq_group *serving_group;
struct rb_root prio_trees[8];
unsigned int busy_queues;
unsigned int busy_sync_queues;
int rq_in_driver;
int rq_in_flight[2];
int rq_queued;
int hw_tag;
int hw_tag_est_depth;
unsigned int hw_tag_samples;
struct hrtimer idle_slice_timer;
struct work_struct unplug_work;
struct cfq_queue *active_queue;
struct cfq_io_cq *active_cic;
sector_t last_position;
unsigned int cfq_quantum;
unsigned int cfq_back_penalty;
unsigned int cfq_back_max;
unsigned int cfq_slice_async_rq;
unsigned int cfq_latency;
u64 cfq_fifo_expire[2];
u64 cfq_slice[2];
u64 cfq_slice_idle;
u64 cfq_group_idle;
u64 cfq_target_latency;
struct cfq_queue oom_cfqq;
u64 last_delayed_sync;
};
4.15: ✅struct cfq_data {
struct request_queue *queue;
struct cfq_rb_root grp_service_tree;
struct cfq_group *root_group;
enum wl_class_t serving_wl_class;
enum wl_type_t serving_wl_type;
u64 workload_expires;
struct cfq_group *serving_group;
struct rb_root prio_trees[8];
unsigned int busy_queues;
unsigned int busy_sync_queues;
int rq_in_driver;
int rq_in_flight[2];
int rq_queued;
int hw_tag;
int hw_tag_est_depth;
unsigned int hw_tag_samples;
struct hrtimer idle_slice_timer;
struct work_struct unplug_work;
struct cfq_queue *active_queue;
struct cfq_io_cq *active_cic;
sector_t last_position;
unsigned int cfq_quantum;
unsigned int cfq_back_penalty;
unsigned int cfq_back_max;
unsigned int cfq_slice_async_rq;
unsigned int cfq_latency;
u64 cfq_fifo_expire[2];
u64 cfq_slice[2];
u64 cfq_slice_idle;
u64 cfq_group_idle;
u64 cfq_target_latency;
struct cfq_queue oom_cfqq;
u64 last_delayed_sync;
};
4.18: ✅struct cfq_data {
struct request_queue *queue;
struct cfq_rb_root grp_service_tree;
struct cfq_group *root_group;
enum wl_class_t serving_wl_class;
enum wl_type_t serving_wl_type;
u64 workload_expires;
struct cfq_group *serving_group;
struct rb_root prio_trees[8];
unsigned int busy_queues;
unsigned int busy_sync_queues;
int rq_in_driver;
int rq_in_flight[2];
int rq_queued;
int hw_tag;
int hw_tag_est_depth;
unsigned int hw_tag_samples;
struct hrtimer idle_slice_timer;
struct work_struct unplug_work;
struct cfq_queue *active_queue;
struct cfq_io_cq *active_cic;
sector_t last_position;
unsigned int cfq_quantum;
unsigned int cfq_back_penalty;
unsigned int cfq_back_max;
unsigned int cfq_slice_async_rq;
unsigned int cfq_latency;
u64 cfq_fifo_expire[2];
u64 cfq_slice[2];
u64 cfq_slice_idle;
u64 cfq_group_idle;
u64 cfq_target_latency;
struct cfq_queue oom_cfqq;
u64 last_delayed_sync;
};
5.0: Absent ⚠️
5.3: Absent ⚠️
5.4: Absent ⚠️
5.8: Absent ⚠️
5.11: Absent ⚠️
5.13: Absent ⚠️
5.15: Absent ⚠️
5.19: Absent ⚠️
6.2: Absent ⚠️
6.5: Absent ⚠️
6.8: Absent ⚠️
arm64: Absent ⚠️
armhf: Absent ⚠️
ppc64el: Absent ⚠️
riscv64: Absent ⚠️
aws: Absent ⚠️
azure: Absent ⚠️
gcp: Absent ⚠️
lowlatency: Absent ⚠️
Regular
4.4 and 4.8 ⚠️long unsigned int workload_expires ➡️ u64 workload_expires
struct timer_list idle_slice_timer ➡️ struct hrtimer idle_slice_timer
unsigned int cfq_fifo_expire[2] ➡️ u64 cfq_fifo_expire[2]
unsigned int cfq_slice[2] ➡️ u64 cfq_slice[2]
unsigned int cfq_slice_idle ➡️ u64 cfq_slice_idle
unsigned int cfq_group_idle ➡️ u64 cfq_group_idle
unsigned int cfq_target_latency ➡️ u64 cfq_target_latency
long unsigned int last_delayed_sync ➡️ u64 last_delayed_sync
4.8 and 4.10 ✅
4.10 and 4.13 ✅
4.13 and 4.15 ✅
4.15 and 4.18 ✅