psi_group
Regular
4.4
: Absent ⚠️
4.8
: Absent ⚠️
4.10
: Absent ⚠️
4.13
: Absent ⚠️
4.15
: Absent ⚠️
4.18
: Absent ⚠️
5.0
: ✅struct psi_group {
struct mutex stat_lock;
struct psi_group_cpu *pcpu;
u64 total_prev[5];
u64 last_update;
u64 next_update;
struct delayed_work clock_work;
u64 total[5];
long unsigned int avg[15];
};
5.3
: ✅struct psi_group {
struct mutex avgs_lock;
struct psi_group_cpu *pcpu;
u64 avg_total[5];
u64 avg_last_update;
u64 avg_next_update;
struct delayed_work avgs_work;
u64 total[10];
long unsigned int avg[15];
atomic_t poll_scheduled;
struct kthread_worker *poll_kworker;
struct kthread_delayed_work poll_work;
struct mutex trigger_lock;
struct list_head triggers;
u32 nr_triggers[5];
u32 poll_states;
u64 poll_min_period;
u64 polling_total[5];
u64 polling_next_update;
u64 polling_until;
};
5.4
: ✅struct psi_group {
struct mutex avgs_lock;
struct psi_group_cpu *pcpu;
u64 avg_total[5];
u64 avg_last_update;
u64 avg_next_update;
struct delayed_work avgs_work;
u64 total[10];
long unsigned int avg[15];
atomic_t poll_scheduled;
struct kthread_worker *poll_kworker;
struct kthread_delayed_work poll_work;
struct mutex trigger_lock;
struct list_head triggers;
u32 nr_triggers[5];
u32 poll_states;
u64 poll_min_period;
u64 polling_total[5];
u64 polling_next_update;
u64 polling_until;
};
5.8
: ✅struct psi_group {
struct mutex avgs_lock;
struct psi_group_cpu *pcpu;
u64 avg_total[5];
u64 avg_last_update;
u64 avg_next_update;
struct delayed_work avgs_work;
u64 total[10];
long unsigned int avg[15];
atomic_t poll_scheduled;
struct kthread_worker *poll_kworker;
struct kthread_delayed_work poll_work;
struct mutex trigger_lock;
struct list_head triggers;
u32 nr_triggers[5];
u32 poll_states;
u64 poll_min_period;
u64 polling_total[5];
u64 polling_next_update;
u64 polling_until;
};
5.11
: ✅struct psi_group {
struct mutex avgs_lock;
struct psi_group_cpu *pcpu;
u64 avg_total[5];
u64 avg_last_update;
u64 avg_next_update;
struct delayed_work avgs_work;
u64 total[10];
long unsigned int avg[15];
struct task_struct *poll_task;
struct timer_list poll_timer;
wait_queue_head_t poll_wait;
atomic_t poll_wakeup;
struct mutex trigger_lock;
struct list_head triggers;
u32 nr_triggers[5];
u32 poll_states;
u64 poll_min_period;
u64 polling_total[5];
u64 polling_next_update;
u64 polling_until;
};
5.13
: ✅struct psi_group {
struct mutex avgs_lock;
struct psi_group_cpu *pcpu;
u64 avg_total[6];
u64 avg_last_update;
u64 avg_next_update;
struct delayed_work avgs_work;
u64 total[12];
long unsigned int avg[18];
struct task_struct *poll_task;
struct timer_list poll_timer;
wait_queue_head_t poll_wait;
atomic_t poll_wakeup;
struct mutex trigger_lock;
struct list_head triggers;
u32 nr_triggers[6];
u32 poll_states;
u64 poll_min_period;
u64 polling_total[6];
u64 polling_next_update;
u64 polling_until;
};
5.15
: ✅struct psi_group {
struct mutex avgs_lock;
struct psi_group_cpu *pcpu;
u64 avg_total[6];
u64 avg_last_update;
u64 avg_next_update;
struct delayed_work avgs_work;
u64 total[12];
long unsigned int avg[18];
struct task_struct *poll_task;
struct timer_list poll_timer;
wait_queue_head_t poll_wait;
atomic_t poll_wakeup;
struct mutex trigger_lock;
struct list_head triggers;
u32 nr_triggers[6];
u32 poll_states;
u64 poll_min_period;
u64 polling_total[6];
u64 polling_next_update;
u64 polling_until;
};
5.19
: ✅struct psi_group {
struct mutex avgs_lock;
struct psi_group_cpu *pcpu;
u64 avg_total[6];
u64 avg_last_update;
u64 avg_next_update;
struct delayed_work avgs_work;
u64 total[12];
long unsigned int avg[18];
struct task_struct *poll_task;
struct timer_list poll_timer;
wait_queue_head_t poll_wait;
atomic_t poll_wakeup;
struct mutex trigger_lock;
struct list_head triggers;
u32 nr_triggers[6];
u32 poll_states;
u64 poll_min_period;
u64 polling_total[6];
u64 polling_next_update;
u64 polling_until;
};
6.2
: ✅struct psi_group {
struct psi_group *parent;
bool enabled;
struct mutex avgs_lock;
struct psi_group_cpu *pcpu;
u64 avg_total[6];
u64 avg_last_update;
u64 avg_next_update;
struct delayed_work avgs_work;
u64 total[12];
long unsigned int avg[18];
struct task_struct *poll_task;
struct timer_list poll_timer;
wait_queue_head_t poll_wait;
atomic_t poll_wakeup;
atomic_t poll_scheduled;
struct mutex trigger_lock;
struct list_head triggers;
u32 nr_triggers[6];
u32 poll_states;
u64 poll_min_period;
u64 polling_total[6];
u64 polling_next_update;
u64 polling_until;
};
6.5
: ✅struct psi_group {
struct psi_group *parent;
bool enabled;
struct mutex avgs_lock;
struct psi_group_cpu *pcpu;
u64 avg_total[6];
u64 avg_last_update;
u64 avg_next_update;
struct delayed_work avgs_work;
struct list_head avg_triggers;
u32 avg_nr_triggers[6];
u64 total[12];
long unsigned int avg[18];
struct task_struct *rtpoll_task;
struct timer_list rtpoll_timer;
wait_queue_head_t rtpoll_wait;
atomic_t rtpoll_wakeup;
atomic_t rtpoll_scheduled;
struct mutex rtpoll_trigger_lock;
struct list_head rtpoll_triggers;
u32 rtpoll_nr_triggers[6];
u32 rtpoll_states;
u64 rtpoll_min_period;
u64 rtpoll_total[6];
u64 rtpoll_next_update;
u64 rtpoll_until;
};
6.8
: ✅struct psi_group {
struct psi_group *parent;
bool enabled;
struct mutex avgs_lock;
struct psi_group_cpu *pcpu;
u64 avg_total[6];
u64 avg_last_update;
u64 avg_next_update;
struct delayed_work avgs_work;
struct list_head avg_triggers;
u32 avg_nr_triggers[6];
u64 total[12];
long unsigned int avg[18];
struct task_struct *rtpoll_task;
struct timer_list rtpoll_timer;
wait_queue_head_t rtpoll_wait;
atomic_t rtpoll_wakeup;
atomic_t rtpoll_scheduled;
struct mutex rtpoll_trigger_lock;
struct list_head rtpoll_triggers;
u32 rtpoll_nr_triggers[6];
u32 rtpoll_states;
u64 rtpoll_min_period;
u64 rtpoll_total[6];
u64 rtpoll_next_update;
u64 rtpoll_until;
};
arm64
: ✅struct psi_group {
struct mutex avgs_lock;
struct psi_group_cpu *pcpu;
u64 avg_total[5];
u64 avg_last_update;
u64 avg_next_update;
struct delayed_work avgs_work;
u64 total[10];
long unsigned int avg[15];
atomic_t poll_scheduled;
struct kthread_worker *poll_kworker;
struct kthread_delayed_work poll_work;
struct mutex trigger_lock;
struct list_head triggers;
u32 nr_triggers[5];
u32 poll_states;
u64 poll_min_period;
u64 polling_total[5];
u64 polling_next_update;
u64 polling_until;
};
armhf
: ✅struct psi_group {
struct mutex avgs_lock;
struct psi_group_cpu *pcpu;
u64 avg_total[5];
u64 avg_last_update;
u64 avg_next_update;
struct delayed_work avgs_work;
u64 total[10];
long unsigned int avg[15];
atomic_t poll_scheduled;
struct kthread_worker *poll_kworker;
struct kthread_delayed_work poll_work;
struct mutex trigger_lock;
struct list_head triggers;
u32 nr_triggers[5];
u32 poll_states;
u64 poll_min_period;
u64 polling_total[5];
u64 polling_next_update;
u64 polling_until;
};
ppc64el
: ✅struct psi_group {
struct mutex avgs_lock;
struct psi_group_cpu *pcpu;
u64 avg_total[5];
u64 avg_last_update;
u64 avg_next_update;
struct delayed_work avgs_work;
u64 total[10];
long unsigned int avg[15];
atomic_t poll_scheduled;
struct kthread_worker *poll_kworker;
struct kthread_delayed_work poll_work;
struct mutex trigger_lock;
struct list_head triggers;
u32 nr_triggers[5];
u32 poll_states;
u64 poll_min_period;
u64 polling_total[5];
u64 polling_next_update;
u64 polling_until;
};
riscv64
: ✅struct psi_group {
struct mutex avgs_lock;
struct psi_group_cpu *pcpu;
u64 avg_total[5];
u64 avg_last_update;
u64 avg_next_update;
struct delayed_work avgs_work;
u64 total[10];
long unsigned int avg[15];
atomic_t poll_scheduled;
struct kthread_worker *poll_kworker;
struct kthread_delayed_work poll_work;
struct mutex trigger_lock;
struct list_head triggers;
u32 nr_triggers[5];
u32 poll_states;
u64 poll_min_period;
u64 polling_total[5];
u64 polling_next_update;
u64 polling_until;
};
aws
: ✅struct psi_group {
struct mutex avgs_lock;
struct psi_group_cpu *pcpu;
u64 avg_total[5];
u64 avg_last_update;
u64 avg_next_update;
struct delayed_work avgs_work;
u64 total[10];
long unsigned int avg[15];
atomic_t poll_scheduled;
struct kthread_worker *poll_kworker;
struct kthread_delayed_work poll_work;
struct mutex trigger_lock;
struct list_head triggers;
u32 nr_triggers[5];
u32 poll_states;
u64 poll_min_period;
u64 polling_total[5];
u64 polling_next_update;
u64 polling_until;
};
azure
: ✅struct psi_group {
struct mutex avgs_lock;
struct psi_group_cpu *pcpu;
u64 avg_total[5];
u64 avg_last_update;
u64 avg_next_update;
struct delayed_work avgs_work;
u64 total[10];
long unsigned int avg[15];
atomic_t poll_scheduled;
struct kthread_worker *poll_kworker;
struct kthread_delayed_work poll_work;
struct mutex trigger_lock;
struct list_head triggers;
u32 nr_triggers[5];
u32 poll_states;
u64 poll_min_period;
u64 polling_total[5];
u64 polling_next_update;
u64 polling_until;
};
gcp
: ✅struct psi_group {
struct mutex avgs_lock;
struct psi_group_cpu *pcpu;
u64 avg_total[5];
u64 avg_last_update;
u64 avg_next_update;
struct delayed_work avgs_work;
u64 total[10];
long unsigned int avg[15];
atomic_t poll_scheduled;
struct kthread_worker *poll_kworker;
struct kthread_delayed_work poll_work;
struct mutex trigger_lock;
struct list_head triggers;
u32 nr_triggers[5];
u32 poll_states;
u64 poll_min_period;
u64 polling_total[5];
u64 polling_next_update;
u64 polling_until;
};
lowlatency
: ✅struct psi_group {
struct mutex avgs_lock;
struct psi_group_cpu *pcpu;
u64 avg_total[5];
u64 avg_last_update;
u64 avg_next_update;
struct delayed_work avgs_work;
u64 total[10];
long unsigned int avg[15];
atomic_t poll_scheduled;
struct kthread_worker *poll_kworker;
struct kthread_delayed_work poll_work;
struct mutex trigger_lock;
struct list_head triggers;
u32 nr_triggers[5];
u32 poll_states;
u64 poll_min_period;
u64 polling_total[5];
u64 polling_next_update;
u64 polling_until;
};
Regular
5.0
and 5.3
⚠️struct mutex avgs_lock
u64 avg_total[5]
u64 avg_last_update
u64 avg_next_update
struct delayed_work avgs_work
atomic_t poll_scheduled
struct kthread_worker *poll_kworker
struct kthread_delayed_work poll_work
struct mutex trigger_lock
struct list_head triggers
u32 nr_triggers[5]
u32 poll_states
u64 poll_min_period
u64 polling_total[5]
u64 polling_next_update
u64 polling_until
struct mutex stat_lock
u64 total_prev[5]
u64 last_update
u64 next_update
struct delayed_work clock_work
u64 total[5]
➡️ u64 total[10]
5.3
and 5.4
✅
5.4
and 5.8
✅
5.8
and 5.11
⚠️struct task_struct *poll_task
struct timer_list poll_timer
wait_queue_head_t poll_wait
atomic_t poll_wakeup
atomic_t poll_scheduled
struct kthread_worker *poll_kworker
struct kthread_delayed_work poll_work
5.11
and 5.13
⚠️u64 avg_total[5]
➡️ u64 avg_total[6]
u64 total[10]
➡️ u64 total[12]
long unsigned int avg[15]
➡️ long unsigned int avg[18]
u32 nr_triggers[5]
➡️ u32 nr_triggers[6]
u64 polling_total[5]
➡️ u64 polling_total[6]
5.13
and 5.15
✅
5.15
and 5.19
✅
5.19
and 6.2
⚠️struct psi_group *parent
bool enabled
atomic_t poll_scheduled
6.2
and 6.5
⚠️struct list_head avg_triggers
u32 avg_nr_triggers[6]
struct task_struct *rtpoll_task
struct timer_list rtpoll_timer
wait_queue_head_t rtpoll_wait
atomic_t rtpoll_wakeup
atomic_t rtpoll_scheduled
struct mutex rtpoll_trigger_lock
struct list_head rtpoll_triggers
u32 rtpoll_nr_triggers[6]
u32 rtpoll_states
u64 rtpoll_min_period
u64 rtpoll_total[6]
u64 rtpoll_next_update
u64 rtpoll_until
struct task_struct *poll_task
struct timer_list poll_timer
wait_queue_head_t poll_wait
atomic_t poll_wakeup
atomic_t poll_scheduled
struct mutex trigger_lock
struct list_head triggers
u32 nr_triggers[6]
u32 poll_states
u64 poll_min_period
u64 polling_total[6]
u64 polling_next_update
u64 polling_until
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
✅