swap_info_struct
Regular
4.4
: ✅struct swap_info_struct {
long unsigned int flags;
short int prio;
struct plist_node list;
struct plist_node avail_list;
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_info free_cluster_head;
struct swap_cluster_info free_cluster_tail;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
struct percpu_cluster *percpu_cluster;
struct swap_extent *curr_swap_extent;
struct swap_extent first_swap_extent;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
long unsigned int *frontswap_map;
atomic_t frontswap_pages;
spinlock_t lock;
struct work_struct discard_work;
struct swap_cluster_info discard_cluster_head;
struct swap_cluster_info discard_cluster_tail;
};
4.8
: ✅struct swap_info_struct {
long unsigned int flags;
short int prio;
struct plist_node list;
struct plist_node avail_list;
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_info free_cluster_head;
struct swap_cluster_info free_cluster_tail;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
struct percpu_cluster *percpu_cluster;
struct swap_extent *curr_swap_extent;
struct swap_extent first_swap_extent;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
long unsigned int *frontswap_map;
atomic_t frontswap_pages;
spinlock_t lock;
struct work_struct discard_work;
struct swap_cluster_info discard_cluster_head;
struct swap_cluster_info discard_cluster_tail;
};
4.10
: ✅struct swap_info_struct {
long unsigned int flags;
short int prio;
struct plist_node list;
struct plist_node avail_list;
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_list free_clusters;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
struct percpu_cluster *percpu_cluster;
struct swap_extent *curr_swap_extent;
struct swap_extent first_swap_extent;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
long unsigned int *frontswap_map;
atomic_t frontswap_pages;
spinlock_t lock;
struct work_struct discard_work;
struct swap_cluster_list discard_clusters;
};
4.13
: ✅struct swap_info_struct {
long unsigned int flags;
short int prio;
struct plist_node list;
struct plist_node avail_list;
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_list free_clusters;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
struct percpu_cluster *percpu_cluster;
struct swap_extent *curr_swap_extent;
struct swap_extent first_swap_extent;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
long unsigned int *frontswap_map;
atomic_t frontswap_pages;
spinlock_t lock;
struct work_struct discard_work;
struct swap_cluster_list discard_clusters;
};
4.15
: ✅struct swap_info_struct {
long unsigned int flags;
short int prio;
struct plist_node list;
struct plist_node avail_lists[1024];
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_list free_clusters;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
struct percpu_cluster *percpu_cluster;
struct swap_extent *curr_swap_extent;
struct swap_extent first_swap_extent;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
long unsigned int *frontswap_map;
atomic_t frontswap_pages;
spinlock_t lock;
spinlock_t cont_lock;
struct work_struct discard_work;
struct swap_cluster_list discard_clusters;
};
4.18
: ✅struct swap_info_struct {
long unsigned int flags;
short int prio;
struct plist_node list;
struct plist_node avail_lists[1024];
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_list free_clusters;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
struct percpu_cluster *percpu_cluster;
struct swap_extent *curr_swap_extent;
struct swap_extent first_swap_extent;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
long unsigned int *frontswap_map;
atomic_t frontswap_pages;
spinlock_t lock;
spinlock_t cont_lock;
struct work_struct discard_work;
struct swap_cluster_list discard_clusters;
};
5.0
: ✅struct swap_info_struct {
long unsigned int flags;
short int prio;
struct plist_node list;
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_list free_clusters;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
struct percpu_cluster *percpu_cluster;
struct swap_extent *curr_swap_extent;
struct swap_extent first_swap_extent;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
long unsigned int *frontswap_map;
atomic_t frontswap_pages;
spinlock_t lock;
spinlock_t cont_lock;
struct work_struct discard_work;
struct swap_cluster_list discard_clusters;
struct plist_node avail_lists[0];
};
5.3
: ✅struct swap_info_struct {
long unsigned int flags;
short int prio;
struct plist_node list;
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_list free_clusters;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
struct percpu_cluster *percpu_cluster;
struct rb_root swap_extent_root;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
long unsigned int *frontswap_map;
atomic_t frontswap_pages;
spinlock_t lock;
spinlock_t cont_lock;
struct work_struct discard_work;
struct swap_cluster_list discard_clusters;
struct plist_node avail_lists[0];
};
5.4
: ✅struct swap_info_struct {
long unsigned int flags;
short int prio;
struct plist_node list;
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_list free_clusters;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
struct percpu_cluster *percpu_cluster;
struct rb_root swap_extent_root;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
long unsigned int *frontswap_map;
atomic_t frontswap_pages;
spinlock_t lock;
spinlock_t cont_lock;
struct work_struct discard_work;
struct swap_cluster_list discard_clusters;
struct plist_node avail_lists[0];
};
5.8
: ✅struct swap_info_struct {
long unsigned int flags;
short int prio;
struct plist_node list;
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_list free_clusters;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
unsigned int *cluster_next_cpu;
struct percpu_cluster *percpu_cluster;
struct rb_root swap_extent_root;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
long unsigned int *frontswap_map;
atomic_t frontswap_pages;
spinlock_t lock;
spinlock_t cont_lock;
struct work_struct discard_work;
struct swap_cluster_list discard_clusters;
struct plist_node avail_lists[0];
};
5.11
: ✅struct swap_info_struct {
long unsigned int flags;
short int prio;
struct plist_node list;
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_list free_clusters;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
unsigned int *cluster_next_cpu;
struct percpu_cluster *percpu_cluster;
struct rb_root swap_extent_root;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
long unsigned int *frontswap_map;
atomic_t frontswap_pages;
spinlock_t lock;
spinlock_t cont_lock;
struct work_struct discard_work;
struct swap_cluster_list discard_clusters;
struct plist_node avail_lists[0];
};
5.13
: ✅struct swap_info_struct {
long unsigned int flags;
short int prio;
struct plist_node list;
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_list free_clusters;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
unsigned int *cluster_next_cpu;
struct percpu_cluster *percpu_cluster;
struct rb_root swap_extent_root;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
long unsigned int *frontswap_map;
atomic_t frontswap_pages;
spinlock_t lock;
spinlock_t cont_lock;
struct work_struct discard_work;
struct swap_cluster_list discard_clusters;
struct plist_node avail_lists[0];
};
5.15
: ✅struct swap_info_struct {
struct percpu_ref users;
long unsigned int flags;
short int prio;
struct plist_node list;
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_list free_clusters;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
unsigned int *cluster_next_cpu;
struct percpu_cluster *percpu_cluster;
struct rb_root swap_extent_root;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
struct completion comp;
long unsigned int *frontswap_map;
atomic_t frontswap_pages;
spinlock_t lock;
spinlock_t cont_lock;
struct work_struct discard_work;
struct swap_cluster_list discard_clusters;
struct plist_node avail_lists[0];
};
5.19
: ✅struct swap_info_struct {
struct percpu_ref users;
long unsigned int flags;
short int prio;
struct plist_node list;
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_list free_clusters;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
unsigned int *cluster_next_cpu;
struct percpu_cluster *percpu_cluster;
struct rb_root swap_extent_root;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
struct completion comp;
long unsigned int *frontswap_map;
atomic_t frontswap_pages;
spinlock_t lock;
spinlock_t cont_lock;
struct work_struct discard_work;
struct swap_cluster_list discard_clusters;
struct plist_node avail_lists[0];
};
6.2
: ✅struct swap_info_struct {
struct percpu_ref users;
long unsigned int flags;
short int prio;
struct plist_node list;
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_list free_clusters;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
unsigned int *cluster_next_cpu;
struct percpu_cluster *percpu_cluster;
struct rb_root swap_extent_root;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
struct completion comp;
long unsigned int *frontswap_map;
atomic_t frontswap_pages;
spinlock_t lock;
spinlock_t cont_lock;
struct work_struct discard_work;
struct swap_cluster_list discard_clusters;
struct plist_node avail_lists[0];
};
6.5
: ✅struct swap_info_struct {
struct percpu_ref users;
long unsigned int flags;
short int prio;
struct plist_node list;
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_list free_clusters;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
unsigned int *cluster_next_cpu;
struct percpu_cluster *percpu_cluster;
struct rb_root swap_extent_root;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
struct completion comp;
long unsigned int *frontswap_map;
atomic_t frontswap_pages;
spinlock_t lock;
spinlock_t cont_lock;
struct work_struct discard_work;
struct swap_cluster_list discard_clusters;
struct plist_node avail_lists[0];
};
6.8
: ✅struct swap_info_struct {
struct percpu_ref users;
long unsigned int flags;
short int prio;
struct plist_node list;
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_list free_clusters;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
unsigned int *cluster_next_cpu;
struct percpu_cluster *percpu_cluster;
struct rb_root swap_extent_root;
struct bdev_handle *bdev_handle;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
struct completion comp;
spinlock_t lock;
spinlock_t cont_lock;
struct work_struct discard_work;
struct swap_cluster_list discard_clusters;
struct plist_node avail_lists[0];
};
arm64
: ✅struct swap_info_struct {
long unsigned int flags;
short int prio;
struct plist_node list;
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_list free_clusters;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
struct percpu_cluster *percpu_cluster;
struct rb_root swap_extent_root;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
long unsigned int *frontswap_map;
atomic_t frontswap_pages;
spinlock_t lock;
spinlock_t cont_lock;
struct work_struct discard_work;
struct swap_cluster_list discard_clusters;
struct plist_node avail_lists[0];
};
armhf
: ✅struct swap_info_struct {
long unsigned int flags;
short int prio;
struct plist_node list;
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_list free_clusters;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
struct percpu_cluster *percpu_cluster;
struct rb_root swap_extent_root;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
long unsigned int *frontswap_map;
atomic_t frontswap_pages;
spinlock_t lock;
spinlock_t cont_lock;
struct work_struct discard_work;
struct swap_cluster_list discard_clusters;
struct plist_node avail_lists[0];
};
ppc64el
: ✅struct swap_info_struct {
long unsigned int flags;
short int prio;
struct plist_node list;
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_list free_clusters;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
struct percpu_cluster *percpu_cluster;
struct rb_root swap_extent_root;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
long unsigned int *frontswap_map;
atomic_t frontswap_pages;
spinlock_t lock;
spinlock_t cont_lock;
struct work_struct discard_work;
struct swap_cluster_list discard_clusters;
struct plist_node avail_lists[0];
};
riscv64
: ✅struct swap_info_struct {
long unsigned int flags;
short int prio;
struct plist_node list;
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_list free_clusters;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
struct percpu_cluster *percpu_cluster;
struct rb_root swap_extent_root;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
long unsigned int *frontswap_map;
atomic_t frontswap_pages;
spinlock_t lock;
spinlock_t cont_lock;
struct work_struct discard_work;
struct swap_cluster_list discard_clusters;
struct plist_node avail_lists[0];
};
aws
: ✅struct swap_info_struct {
long unsigned int flags;
short int prio;
struct plist_node list;
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_list free_clusters;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
struct percpu_cluster *percpu_cluster;
struct rb_root swap_extent_root;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
long unsigned int *frontswap_map;
atomic_t frontswap_pages;
spinlock_t lock;
spinlock_t cont_lock;
struct work_struct discard_work;
struct swap_cluster_list discard_clusters;
struct plist_node avail_lists[0];
};
azure
: ✅struct swap_info_struct {
long unsigned int flags;
short int prio;
struct plist_node list;
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_list free_clusters;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
struct percpu_cluster *percpu_cluster;
struct rb_root swap_extent_root;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
long unsigned int *frontswap_map;
atomic_t frontswap_pages;
spinlock_t lock;
spinlock_t cont_lock;
struct work_struct discard_work;
struct swap_cluster_list discard_clusters;
struct plist_node avail_lists[0];
};
gcp
: ✅struct swap_info_struct {
long unsigned int flags;
short int prio;
struct plist_node list;
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_list free_clusters;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
struct percpu_cluster *percpu_cluster;
struct rb_root swap_extent_root;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
long unsigned int *frontswap_map;
atomic_t frontswap_pages;
spinlock_t lock;
spinlock_t cont_lock;
struct work_struct discard_work;
struct swap_cluster_list discard_clusters;
struct plist_node avail_lists[0];
};
lowlatency
: ✅struct swap_info_struct {
long unsigned int flags;
short int prio;
struct plist_node list;
signed char type;
unsigned int max;
unsigned char *swap_map;
struct swap_cluster_info *cluster_info;
struct swap_cluster_list free_clusters;
unsigned int lowest_bit;
unsigned int highest_bit;
unsigned int pages;
unsigned int inuse_pages;
unsigned int cluster_next;
unsigned int cluster_nr;
struct percpu_cluster *percpu_cluster;
struct rb_root swap_extent_root;
struct block_device *bdev;
struct file *swap_file;
unsigned int old_block_size;
long unsigned int *frontswap_map;
atomic_t frontswap_pages;
spinlock_t lock;
spinlock_t cont_lock;
struct work_struct discard_work;
struct swap_cluster_list discard_clusters;
struct plist_node avail_lists[0];
};
Regular
4.4
and 4.8
✅
4.8
and 4.10
⚠️struct swap_cluster_list free_clusters
struct swap_cluster_list discard_clusters
struct swap_cluster_info free_cluster_head
struct swap_cluster_info free_cluster_tail
struct swap_cluster_info discard_cluster_head
struct swap_cluster_info discard_cluster_tail
4.10
and 4.13
✅
4.13
and 4.15
⚠️struct plist_node avail_lists[1024]
spinlock_t cont_lock
struct plist_node avail_list
4.15
and 4.18
✅
4.18
and 5.0
⚠️struct plist_node avail_lists[1024]
➡️ struct plist_node avail_lists[0]
5.0
and 5.3
⚠️struct rb_root swap_extent_root
struct swap_extent *curr_swap_extent
struct swap_extent first_swap_extent
5.3
and 5.4
✅
5.4
and 5.8
⚠️unsigned int *cluster_next_cpu
5.8
and 5.11
✅
5.11
and 5.13
✅
5.13
and 5.15
⚠️struct percpu_ref users
struct completion comp
5.15
and 5.19
✅
5.19
and 6.2
✅
6.2
and 6.5
✅
6.5
and 6.8
⚠️struct bdev_handle *bdev_handle
long unsigned int *frontswap_map
atomic_t frontswap_pages
amd64
and arm64
✅
amd64
and armhf
✅
amd64
and ppc64el
✅
amd64
and riscv64
✅
generic
and aws
✅
generic
and azure
✅
generic
and gcp
✅
generic
and lowlatency
✅