backing_dev_infoRegular
4.4: ✅struct backing_dev_info {
struct list_head bdi_list;
long unsigned int ra_pages;
unsigned int capabilities;
congested_fn *congested_fn;
void *congested_data;
char *name;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
struct bdi_writeback wb;
struct list_head wb_list;
struct radix_tree_root cgwb_tree;
struct rb_root cgwb_congested_tree;
atomic_t usage_cnt;
wait_queue_head_t wb_waitq;
struct device *dev;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
struct dentry *debug_stats;
};
4.8: ✅struct backing_dev_info {
struct list_head bdi_list;
long unsigned int ra_pages;
unsigned int capabilities;
congested_fn *congested_fn;
void *congested_data;
char *name;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
struct bdi_writeback wb;
struct list_head wb_list;
struct radix_tree_root cgwb_tree;
struct rb_root cgwb_congested_tree;
atomic_t usage_cnt;
wait_queue_head_t wb_waitq;
struct device *dev;
struct device *owner;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
struct dentry *debug_stats;
};
4.10: ✅struct backing_dev_info {
struct list_head bdi_list;
long unsigned int ra_pages;
long unsigned int io_pages;
congested_fn *congested_fn;
void *congested_data;
char *name;
unsigned int capabilities;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
struct bdi_writeback wb;
struct list_head wb_list;
struct radix_tree_root cgwb_tree;
struct rb_root cgwb_congested_tree;
atomic_t usage_cnt;
wait_queue_head_t wb_waitq;
struct device *dev;
struct device *owner;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
struct dentry *debug_stats;
};
4.13: ✅struct backing_dev_info {
struct list_head bdi_list;
long unsigned int ra_pages;
long unsigned int io_pages;
congested_fn *congested_fn;
void *congested_data;
const char *name;
struct kref refcnt;
unsigned int capabilities;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
struct bdi_writeback wb;
struct list_head wb_list;
struct radix_tree_root cgwb_tree;
struct rb_root cgwb_congested_tree;
wait_queue_head_t wb_waitq;
struct device *dev;
struct device *owner;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
struct dentry *debug_stats;
};
4.15: ✅struct backing_dev_info {
struct list_head bdi_list;
long unsigned int ra_pages;
long unsigned int io_pages;
congested_fn *congested_fn;
void *congested_data;
const char *name;
struct kref refcnt;
unsigned int capabilities;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
struct bdi_writeback wb;
struct list_head wb_list;
struct radix_tree_root cgwb_tree;
struct rb_root cgwb_congested_tree;
wait_queue_head_t wb_waitq;
struct device *dev;
struct device *owner;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
struct dentry *debug_stats;
};
4.18: ✅struct backing_dev_info {
struct list_head bdi_list;
long unsigned int ra_pages;
long unsigned int io_pages;
congested_fn *congested_fn;
void *congested_data;
const char *name;
struct kref refcnt;
unsigned int capabilities;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
struct bdi_writeback wb;
struct list_head wb_list;
struct radix_tree_root cgwb_tree;
struct rb_root cgwb_congested_tree;
struct mutex cgwb_release_mutex;
wait_queue_head_t wb_waitq;
struct device *dev;
struct device *owner;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
struct dentry *debug_stats;
};
5.0: ✅struct backing_dev_info {
struct list_head bdi_list;
long unsigned int ra_pages;
long unsigned int io_pages;
congested_fn *congested_fn;
void *congested_data;
const char *name;
struct kref refcnt;
unsigned int capabilities;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
struct bdi_writeback wb;
struct list_head wb_list;
struct xarray cgwb_tree;
struct rb_root cgwb_congested_tree;
struct mutex cgwb_release_mutex;
struct rw_semaphore wb_switch_rwsem;
wait_queue_head_t wb_waitq;
struct device *dev;
struct device *owner;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
struct dentry *debug_stats;
};
5.3: ✅struct backing_dev_info {
struct list_head bdi_list;
long unsigned int ra_pages;
long unsigned int io_pages;
congested_fn *congested_fn;
void *congested_data;
const char *name;
struct kref refcnt;
unsigned int capabilities;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
struct bdi_writeback wb;
struct list_head wb_list;
struct xarray cgwb_tree;
struct rb_root cgwb_congested_tree;
struct mutex cgwb_release_mutex;
struct rw_semaphore wb_switch_rwsem;
wait_queue_head_t wb_waitq;
struct device *dev;
struct device *owner;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
};
5.4: ✅struct backing_dev_info {
u64 id;
struct rb_node rb_node;
struct list_head bdi_list;
long unsigned int ra_pages;
long unsigned int io_pages;
congested_fn *congested_fn;
void *congested_data;
const char *name;
struct kref refcnt;
unsigned int capabilities;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
struct bdi_writeback wb;
struct list_head wb_list;
struct xarray cgwb_tree;
struct rb_root cgwb_congested_tree;
struct mutex cgwb_release_mutex;
struct rw_semaphore wb_switch_rwsem;
wait_queue_head_t wb_waitq;
struct device *dev;
struct device *owner;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
};
5.8: ✅struct backing_dev_info {
u64 id;
struct rb_node rb_node;
struct list_head bdi_list;
long unsigned int ra_pages;
long unsigned int io_pages;
congested_fn *congested_fn;
void *congested_data;
struct kref refcnt;
unsigned int capabilities;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
struct bdi_writeback wb;
struct list_head wb_list;
struct xarray cgwb_tree;
struct rb_root cgwb_congested_tree;
struct mutex cgwb_release_mutex;
struct rw_semaphore wb_switch_rwsem;
wait_queue_head_t wb_waitq;
struct device *dev;
char dev_name[64];
struct device *owner;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
};
5.11: ✅struct backing_dev_info {
u64 id;
struct rb_node rb_node;
struct list_head bdi_list;
long unsigned int ra_pages;
long unsigned int io_pages;
struct kref refcnt;
unsigned int capabilities;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
struct bdi_writeback wb;
struct list_head wb_list;
struct xarray cgwb_tree;
struct mutex cgwb_release_mutex;
struct rw_semaphore wb_switch_rwsem;
wait_queue_head_t wb_waitq;
struct device *dev;
char dev_name[64];
struct device *owner;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
};
5.13: ✅struct backing_dev_info {
u64 id;
struct rb_node rb_node;
struct list_head bdi_list;
long unsigned int ra_pages;
long unsigned int io_pages;
struct kref refcnt;
unsigned int capabilities;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
struct bdi_writeback wb;
struct list_head wb_list;
struct xarray cgwb_tree;
struct mutex cgwb_release_mutex;
struct rw_semaphore wb_switch_rwsem;
wait_queue_head_t wb_waitq;
struct device *dev;
char dev_name[64];
struct device *owner;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
};
5.15: ✅struct backing_dev_info {
u64 id;
struct rb_node rb_node;
struct list_head bdi_list;
long unsigned int ra_pages;
long unsigned int io_pages;
struct kref refcnt;
unsigned int capabilities;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
struct bdi_writeback wb;
struct list_head wb_list;
struct xarray cgwb_tree;
struct mutex cgwb_release_mutex;
struct rw_semaphore wb_switch_rwsem;
wait_queue_head_t wb_waitq;
struct device *dev;
char dev_name[64];
struct device *owner;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
};
5.19: ✅struct backing_dev_info {
u64 id;
struct rb_node rb_node;
struct list_head bdi_list;
long unsigned int ra_pages;
long unsigned int io_pages;
struct kref refcnt;
unsigned int capabilities;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
struct bdi_writeback wb;
struct list_head wb_list;
struct xarray cgwb_tree;
struct mutex cgwb_release_mutex;
struct rw_semaphore wb_switch_rwsem;
wait_queue_head_t wb_waitq;
struct device *dev;
char dev_name[64];
struct device *owner;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
};
6.2: ✅struct backing_dev_info {
u64 id;
struct rb_node rb_node;
struct list_head bdi_list;
long unsigned int ra_pages;
long unsigned int io_pages;
struct kref refcnt;
unsigned int capabilities;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
struct bdi_writeback wb;
struct list_head wb_list;
struct xarray cgwb_tree;
struct mutex cgwb_release_mutex;
struct rw_semaphore wb_switch_rwsem;
wait_queue_head_t wb_waitq;
struct device *dev;
char dev_name[64];
struct device *owner;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
};
6.5: ✅struct backing_dev_info {
u64 id;
struct rb_node rb_node;
struct list_head bdi_list;
long unsigned int ra_pages;
long unsigned int io_pages;
struct kref refcnt;
unsigned int capabilities;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
struct bdi_writeback wb;
struct list_head wb_list;
struct xarray cgwb_tree;
struct mutex cgwb_release_mutex;
struct rw_semaphore wb_switch_rwsem;
wait_queue_head_t wb_waitq;
struct device *dev;
char dev_name[64];
struct device *owner;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
};
6.8: ✅struct backing_dev_info {
u64 id;
struct rb_node rb_node;
struct list_head bdi_list;
long unsigned int ra_pages;
long unsigned int io_pages;
struct kref refcnt;
unsigned int capabilities;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
long unsigned int last_bdp_sleep;
struct bdi_writeback wb;
struct list_head wb_list;
struct xarray cgwb_tree;
struct mutex cgwb_release_mutex;
struct rw_semaphore wb_switch_rwsem;
wait_queue_head_t wb_waitq;
struct device *dev;
char dev_name[64];
struct device *owner;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
};
arm64: ✅struct backing_dev_info {
u64 id;
struct rb_node rb_node;
struct list_head bdi_list;
long unsigned int ra_pages;
long unsigned int io_pages;
congested_fn *congested_fn;
void *congested_data;
const char *name;
struct kref refcnt;
unsigned int capabilities;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
struct bdi_writeback wb;
struct list_head wb_list;
struct xarray cgwb_tree;
struct rb_root cgwb_congested_tree;
struct mutex cgwb_release_mutex;
struct rw_semaphore wb_switch_rwsem;
wait_queue_head_t wb_waitq;
struct device *dev;
struct device *owner;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
};
armhf: ✅struct backing_dev_info {
u64 id;
struct rb_node rb_node;
struct list_head bdi_list;
long unsigned int ra_pages;
long unsigned int io_pages;
congested_fn *congested_fn;
void *congested_data;
const char *name;
struct kref refcnt;
unsigned int capabilities;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
struct bdi_writeback wb;
struct list_head wb_list;
struct xarray cgwb_tree;
struct rb_root cgwb_congested_tree;
struct mutex cgwb_release_mutex;
struct rw_semaphore wb_switch_rwsem;
wait_queue_head_t wb_waitq;
struct device *dev;
struct device *owner;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
};
ppc64el: ✅struct backing_dev_info {
u64 id;
struct rb_node rb_node;
struct list_head bdi_list;
long unsigned int ra_pages;
long unsigned int io_pages;
congested_fn *congested_fn;
void *congested_data;
const char *name;
struct kref refcnt;
unsigned int capabilities;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
struct bdi_writeback wb;
struct list_head wb_list;
struct xarray cgwb_tree;
struct rb_root cgwb_congested_tree;
struct mutex cgwb_release_mutex;
struct rw_semaphore wb_switch_rwsem;
wait_queue_head_t wb_waitq;
struct device *dev;
struct device *owner;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
};
riscv64: ✅struct backing_dev_info {
u64 id;
struct rb_node rb_node;
struct list_head bdi_list;
long unsigned int ra_pages;
long unsigned int io_pages;
congested_fn *congested_fn;
void *congested_data;
const char *name;
struct kref refcnt;
unsigned int capabilities;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
struct bdi_writeback wb;
struct list_head wb_list;
struct xarray cgwb_tree;
struct rb_root cgwb_congested_tree;
struct mutex cgwb_release_mutex;
struct rw_semaphore wb_switch_rwsem;
wait_queue_head_t wb_waitq;
struct device *dev;
struct device *owner;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
};
aws: ✅struct backing_dev_info {
u64 id;
struct rb_node rb_node;
struct list_head bdi_list;
long unsigned int ra_pages;
long unsigned int io_pages;
congested_fn *congested_fn;
void *congested_data;
const char *name;
struct kref refcnt;
unsigned int capabilities;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
struct bdi_writeback wb;
struct list_head wb_list;
struct xarray cgwb_tree;
struct rb_root cgwb_congested_tree;
struct mutex cgwb_release_mutex;
struct rw_semaphore wb_switch_rwsem;
wait_queue_head_t wb_waitq;
struct device *dev;
struct device *owner;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
};
azure: ✅struct backing_dev_info {
u64 id;
struct rb_node rb_node;
struct list_head bdi_list;
long unsigned int ra_pages;
long unsigned int io_pages;
congested_fn *congested_fn;
void *congested_data;
const char *name;
struct kref refcnt;
unsigned int capabilities;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
struct bdi_writeback wb;
struct list_head wb_list;
struct xarray cgwb_tree;
struct rb_root cgwb_congested_tree;
struct mutex cgwb_release_mutex;
struct rw_semaphore wb_switch_rwsem;
wait_queue_head_t wb_waitq;
struct device *dev;
struct device *owner;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
};
gcp: ✅struct backing_dev_info {
u64 id;
struct rb_node rb_node;
struct list_head bdi_list;
long unsigned int ra_pages;
long unsigned int io_pages;
congested_fn *congested_fn;
void *congested_data;
const char *name;
struct kref refcnt;
unsigned int capabilities;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
struct bdi_writeback wb;
struct list_head wb_list;
struct xarray cgwb_tree;
struct rb_root cgwb_congested_tree;
struct mutex cgwb_release_mutex;
struct rw_semaphore wb_switch_rwsem;
wait_queue_head_t wb_waitq;
struct device *dev;
struct device *owner;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
};
lowlatency: ✅struct backing_dev_info {
u64 id;
struct rb_node rb_node;
struct list_head bdi_list;
long unsigned int ra_pages;
long unsigned int io_pages;
congested_fn *congested_fn;
void *congested_data;
const char *name;
struct kref refcnt;
unsigned int capabilities;
unsigned int min_ratio;
unsigned int max_ratio;
unsigned int max_prop_frac;
atomic_long_t tot_write_bandwidth;
struct bdi_writeback wb;
struct list_head wb_list;
struct xarray cgwb_tree;
struct rb_root cgwb_congested_tree;
struct mutex cgwb_release_mutex;
struct rw_semaphore wb_switch_rwsem;
wait_queue_head_t wb_waitq;
struct device *dev;
struct device *owner;
struct timer_list laptop_mode_wb_timer;
struct dentry *debug_dir;
};
Regular
4.4 and 4.8 ⚠️struct device *owner
4.8 and 4.10 ⚠️long unsigned int io_pages
4.10 and 4.13 ⚠️struct kref refcnt
atomic_t usage_cnt
char *name ➡️ const char *name
4.13 and 4.15 ✅
4.15 and 4.18 ⚠️struct mutex cgwb_release_mutex
4.18 and 5.0 ⚠️struct rw_semaphore wb_switch_rwsem
struct radix_tree_root cgwb_tree ➡️ struct xarray cgwb_tree
5.0 and 5.3 ⚠️struct dentry *debug_stats
5.3 and 5.4 ⚠️u64 id
struct rb_node rb_node
5.4 and 5.8 ⚠️char dev_name[64]
const char *name
5.8 and 5.11 ⚠️congested_fn *congested_fn
void *congested_data
struct rb_root cgwb_congested_tree
5.11 and 5.13 ✅
5.13 and 5.15 ✅
5.15 and 5.19 ✅
5.19 and 6.2 ✅
6.2 and 6.5 ✅
6.5 and 6.8 ⚠️long unsigned int last_bdp_sleep
amd64 and arm64 ✅
amd64 and armhf ✅
amd64 and ppc64el ✅
amd64 and riscv64 ✅
generic and aws ✅
generic and azure ✅
generic and gcp ✅
generic and lowlatency ✅