scan_controlRegular
4.4: ✅struct scan_control {
long unsigned int nr_to_reclaim;
gfp_t gfp_mask;
int order;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
int priority;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int may_thrash;
unsigned int hibernation_mode;
unsigned int compaction_ready;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
};
4.8: ✅struct scan_control {
long unsigned int nr_to_reclaim;
gfp_t gfp_mask;
int order;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
int priority;
enum zone_type reclaim_idx;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int may_thrash;
unsigned int hibernation_mode;
unsigned int compaction_ready;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
};
4.10: ✅struct scan_control {
long unsigned int nr_to_reclaim;
gfp_t gfp_mask;
int order;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
int priority;
enum zone_type reclaim_idx;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int may_thrash;
unsigned int hibernation_mode;
unsigned int compaction_ready;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
};
4.13: ✅struct scan_control {
long unsigned int nr_to_reclaim;
gfp_t gfp_mask;
int order;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
int priority;
enum zone_type reclaim_idx;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int memcg_low_reclaim;
unsigned int memcg_low_skipped;
unsigned int hibernation_mode;
unsigned int compaction_ready;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
};
4.15: ✅struct scan_control {
long unsigned int nr_to_reclaim;
gfp_t gfp_mask;
int order;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
int priority;
enum zone_type reclaim_idx;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int memcg_low_reclaim;
unsigned int memcg_low_skipped;
unsigned int hibernation_mode;
unsigned int compaction_ready;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
};
4.18: ✅struct scan_control {
long unsigned int nr_to_reclaim;
gfp_t gfp_mask;
int order;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
int priority;
enum zone_type reclaim_idx;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int memcg_low_reclaim;
unsigned int memcg_low_skipped;
unsigned int hibernation_mode;
unsigned int compaction_ready;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
struct (anon) nr;
};
5.0: ✅struct scan_control {
long unsigned int nr_to_reclaim;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int may_shrinkslab;
unsigned int memcg_low_reclaim;
unsigned int memcg_low_skipped;
unsigned int hibernation_mode;
unsigned int compaction_ready;
s8 order;
s8 priority;
s8 reclaim_idx;
gfp_t gfp_mask;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
struct (anon) nr;
};
5.3: ✅struct scan_control {
long unsigned int nr_to_reclaim;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int memcg_low_reclaim;
unsigned int memcg_low_skipped;
unsigned int hibernation_mode;
unsigned int compaction_ready;
s8 order;
s8 priority;
s8 reclaim_idx;
gfp_t gfp_mask;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
struct (anon) nr;
struct reclaim_state reclaim_state;
};
5.4: ✅struct scan_control {
long unsigned int nr_to_reclaim;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int memcg_low_reclaim;
unsigned int memcg_low_skipped;
unsigned int hibernation_mode;
unsigned int compaction_ready;
s8 order;
s8 priority;
s8 reclaim_idx;
gfp_t gfp_mask;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
struct (anon) nr;
struct reclaim_state reclaim_state;
};
5.8: ✅struct scan_control {
long unsigned int nr_to_reclaim;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
long unsigned int anon_cost;
long unsigned int file_cost;
unsigned int may_deactivate;
unsigned int force_deactivate;
unsigned int skipped_deactivate;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int memcg_low_reclaim;
unsigned int memcg_low_skipped;
unsigned int hibernation_mode;
unsigned int compaction_ready;
unsigned int cache_trim_mode;
unsigned int file_is_tiny;
s8 order;
s8 priority;
s8 reclaim_idx;
gfp_t gfp_mask;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
struct (anon) nr;
struct reclaim_state reclaim_state;
};
5.11: ✅struct scan_control {
long unsigned int nr_to_reclaim;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
long unsigned int anon_cost;
long unsigned int file_cost;
unsigned int may_deactivate;
unsigned int force_deactivate;
unsigned int skipped_deactivate;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int memcg_low_reclaim;
unsigned int memcg_low_skipped;
unsigned int hibernation_mode;
unsigned int compaction_ready;
unsigned int cache_trim_mode;
unsigned int file_is_tiny;
s8 order;
s8 priority;
s8 reclaim_idx;
gfp_t gfp_mask;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
struct (anon) nr;
struct reclaim_state reclaim_state;
};
5.13: ✅struct scan_control {
long unsigned int nr_to_reclaim;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
long unsigned int anon_cost;
long unsigned int file_cost;
unsigned int may_deactivate;
unsigned int force_deactivate;
unsigned int skipped_deactivate;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int memcg_low_reclaim;
unsigned int memcg_low_skipped;
unsigned int hibernation_mode;
unsigned int compaction_ready;
unsigned int cache_trim_mode;
unsigned int file_is_tiny;
s8 order;
s8 priority;
s8 reclaim_idx;
gfp_t gfp_mask;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
struct (anon) nr;
struct reclaim_state reclaim_state;
};
5.15: ✅struct scan_control {
long unsigned int nr_to_reclaim;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
long unsigned int anon_cost;
long unsigned int file_cost;
unsigned int may_deactivate;
unsigned int force_deactivate;
unsigned int skipped_deactivate;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int memcg_low_reclaim;
unsigned int memcg_low_skipped;
unsigned int hibernation_mode;
unsigned int compaction_ready;
unsigned int cache_trim_mode;
unsigned int file_is_tiny;
unsigned int no_demotion;
s8 order;
s8 priority;
s8 reclaim_idx;
gfp_t gfp_mask;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
struct (anon) nr;
struct reclaim_state reclaim_state;
};
5.19: ✅struct scan_control {
long unsigned int nr_to_reclaim;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
long unsigned int anon_cost;
long unsigned int file_cost;
unsigned int may_deactivate;
unsigned int force_deactivate;
unsigned int skipped_deactivate;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int memcg_low_reclaim;
unsigned int memcg_low_skipped;
unsigned int hibernation_mode;
unsigned int compaction_ready;
unsigned int cache_trim_mode;
unsigned int file_is_tiny;
unsigned int no_demotion;
s8 order;
s8 priority;
s8 reclaim_idx;
gfp_t gfp_mask;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
struct (anon) nr;
struct reclaim_state reclaim_state;
};
6.2: ✅struct scan_control {
long unsigned int nr_to_reclaim;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
long unsigned int anon_cost;
long unsigned int file_cost;
unsigned int may_deactivate;
unsigned int force_deactivate;
unsigned int skipped_deactivate;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int proactive;
unsigned int memcg_low_reclaim;
unsigned int memcg_low_skipped;
unsigned int hibernation_mode;
unsigned int compaction_ready;
unsigned int cache_trim_mode;
unsigned int file_is_tiny;
unsigned int no_demotion;
unsigned int memcgs_need_aging;
long unsigned int last_reclaimed;
s8 order;
s8 priority;
s8 reclaim_idx;
gfp_t gfp_mask;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
struct (anon) nr;
struct reclaim_state reclaim_state;
};
6.5: ✅struct scan_control {
long unsigned int nr_to_reclaim;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
long unsigned int anon_cost;
long unsigned int file_cost;
unsigned int may_deactivate;
unsigned int force_deactivate;
unsigned int skipped_deactivate;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int proactive;
unsigned int memcg_low_reclaim;
unsigned int memcg_low_skipped;
unsigned int hibernation_mode;
unsigned int compaction_ready;
unsigned int cache_trim_mode;
unsigned int file_is_tiny;
unsigned int no_demotion;
s8 order;
s8 priority;
s8 reclaim_idx;
gfp_t gfp_mask;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
struct (anon) nr;
struct reclaim_state reclaim_state;
};
6.8: ✅struct scan_control {
long unsigned int nr_to_reclaim;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
long unsigned int anon_cost;
long unsigned int file_cost;
unsigned int may_deactivate;
unsigned int force_deactivate;
unsigned int skipped_deactivate;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int proactive;
unsigned int memcg_low_reclaim;
unsigned int memcg_low_skipped;
unsigned int hibernation_mode;
unsigned int compaction_ready;
unsigned int cache_trim_mode;
unsigned int file_is_tiny;
unsigned int no_demotion;
s8 order;
s8 priority;
s8 reclaim_idx;
gfp_t gfp_mask;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
struct (anon) nr;
struct reclaim_state reclaim_state;
};
arm64: ✅struct scan_control {
long unsigned int nr_to_reclaim;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int memcg_low_reclaim;
unsigned int memcg_low_skipped;
unsigned int hibernation_mode;
unsigned int compaction_ready;
s8 order;
s8 priority;
s8 reclaim_idx;
gfp_t gfp_mask;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
struct (anon) nr;
struct reclaim_state reclaim_state;
};
armhf: ✅struct scan_control {
long unsigned int nr_to_reclaim;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int memcg_low_reclaim;
unsigned int memcg_low_skipped;
unsigned int hibernation_mode;
unsigned int compaction_ready;
s8 order;
s8 priority;
s8 reclaim_idx;
gfp_t gfp_mask;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
struct (anon) nr;
struct reclaim_state reclaim_state;
};
ppc64el: ✅struct scan_control {
long unsigned int nr_to_reclaim;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int memcg_low_reclaim;
unsigned int memcg_low_skipped;
unsigned int hibernation_mode;
unsigned int compaction_ready;
s8 order;
s8 priority;
s8 reclaim_idx;
gfp_t gfp_mask;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
struct (anon) nr;
struct reclaim_state reclaim_state;
};
riscv64: ✅struct scan_control {
long unsigned int nr_to_reclaim;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int memcg_low_reclaim;
unsigned int memcg_low_skipped;
unsigned int hibernation_mode;
unsigned int compaction_ready;
s8 order;
s8 priority;
s8 reclaim_idx;
gfp_t gfp_mask;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
struct (anon) nr;
struct reclaim_state reclaim_state;
};
aws: ✅struct scan_control {
long unsigned int nr_to_reclaim;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int memcg_low_reclaim;
unsigned int memcg_low_skipped;
unsigned int hibernation_mode;
unsigned int compaction_ready;
s8 order;
s8 priority;
s8 reclaim_idx;
gfp_t gfp_mask;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
struct (anon) nr;
struct reclaim_state reclaim_state;
};
azure: ✅struct scan_control {
long unsigned int nr_to_reclaim;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int memcg_low_reclaim;
unsigned int memcg_low_skipped;
unsigned int hibernation_mode;
unsigned int compaction_ready;
s8 order;
s8 priority;
s8 reclaim_idx;
gfp_t gfp_mask;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
struct (anon) nr;
struct reclaim_state reclaim_state;
};
gcp: ✅struct scan_control {
long unsigned int nr_to_reclaim;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int memcg_low_reclaim;
unsigned int memcg_low_skipped;
unsigned int hibernation_mode;
unsigned int compaction_ready;
s8 order;
s8 priority;
s8 reclaim_idx;
gfp_t gfp_mask;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
struct (anon) nr;
struct reclaim_state reclaim_state;
};
lowlatency: ✅struct scan_control {
long unsigned int nr_to_reclaim;
nodemask_t *nodemask;
struct mem_cgroup *target_mem_cgroup;
unsigned int may_writepage;
unsigned int may_unmap;
unsigned int may_swap;
unsigned int memcg_low_reclaim;
unsigned int memcg_low_skipped;
unsigned int hibernation_mode;
unsigned int compaction_ready;
s8 order;
s8 priority;
s8 reclaim_idx;
gfp_t gfp_mask;
long unsigned int nr_scanned;
long unsigned int nr_reclaimed;
struct (anon) nr;
struct reclaim_state reclaim_state;
};
Regular
4.4 and 4.8 ⚠️enum zone_type reclaim_idx
4.8 and 4.10 ✅
4.10 and 4.13 ⚠️unsigned int memcg_low_reclaim
unsigned int memcg_low_skipped
unsigned int may_thrash
4.13 and 4.15 ✅
4.15 and 4.18 ⚠️struct (anon) nr
4.18 and 5.0 ⚠️unsigned int may_shrinkslab
int order ➡️ s8 order
int priority ➡️ s8 priority
enum zone_type reclaim_idx ➡️ s8 reclaim_idx
5.0 and 5.3 ⚠️struct reclaim_state reclaim_state
unsigned int may_shrinkslab
5.3 and 5.4 ✅
5.4 and 5.8 ⚠️long unsigned int anon_cost
long unsigned int file_cost
unsigned int may_deactivate
unsigned int force_deactivate
unsigned int skipped_deactivate
unsigned int cache_trim_mode
unsigned int file_is_tiny
5.8 and 5.11 ✅
5.11 and 5.13 ✅
5.13 and 5.15 ⚠️unsigned int no_demotion
5.15 and 5.19 ✅
5.19 and 6.2 ⚠️unsigned int proactive
unsigned int memcgs_need_aging
long unsigned int last_reclaimed
6.2 and 6.5 ⚠️unsigned int memcgs_need_aging
long unsigned int last_reclaimed
6.5 and 6.8 ✅
amd64 and arm64 ✅
amd64 and armhf ✅
amd64 and ppc64el ✅
amd64 and riscv64 ✅
generic and aws ✅
generic and azure ✅
generic and gcp ✅
generic and lowlatency ✅