Loading kernel/sched/core.c +7 −9 Original line number Diff line number Diff line Loading @@ -1812,30 +1812,28 @@ void sched_set_io_is_busy(int val) int sched_set_window(u64 window_start, unsigned int window_size) { u64 ws, now; int delta; if (sched_use_pelt || (window_size * TICK_NSEC < MIN_SCHED_RAVG_WINDOW)) return -EINVAL; mutex_lock(&policy_mutex); update_alignment = 1; now = get_jiffies_64(); if (time_after64(window_start, now)) { delta = window_start - now; /* how many jiffies ahead */ delta /= window_size; /* # of windows to roll back */ delta += 1; window_start -= (delta * window_size); } ws = (window_start - sched_init_jiffy); /* jiffy difference */ ws *= TICK_NSEC; ws += sched_clock_at_init_jiffy; now = sched_clock(); while (ws > now) ws -= (window_size * TICK_NSEC); BUG_ON(sched_clock() < ws); reset_all_window_stats(ws, window_size); mutex_unlock(&policy_mutex); return 0; } Loading kernel/sched/fair.c +1 −1 Original line number Diff line number Diff line Loading @@ -1886,7 +1886,7 @@ void post_big_small_task_count_change(void) local_irq_enable(); } static DEFINE_MUTEX(policy_mutex); DEFINE_MUTEX(policy_mutex); static inline int invalid_value(unsigned int *data) { Loading kernel/sched/sched.h +1 −0 Original line number Diff line number Diff line Loading @@ -687,6 +687,7 @@ extern void init_new_task_load(struct task_struct *p); #define WINDOW_STATS_USE_AVG 2 #define WINDOW_STATS_INVALID_POLICY 3 extern struct mutex policy_mutex; extern unsigned int sched_ravg_window; extern unsigned int sched_use_pelt; extern unsigned int sched_disable_window_stats; Loading Loading
kernel/sched/core.c +7 −9 Original line number Diff line number Diff line Loading @@ -1812,30 +1812,28 @@ void sched_set_io_is_busy(int val) int sched_set_window(u64 window_start, unsigned int window_size) { u64 ws, now; int delta; if (sched_use_pelt || (window_size * TICK_NSEC < MIN_SCHED_RAVG_WINDOW)) return -EINVAL; mutex_lock(&policy_mutex); update_alignment = 1; now = get_jiffies_64(); if (time_after64(window_start, now)) { delta = window_start - now; /* how many jiffies ahead */ delta /= window_size; /* # of windows to roll back */ delta += 1; window_start -= (delta * window_size); } ws = (window_start - sched_init_jiffy); /* jiffy difference */ ws *= TICK_NSEC; ws += sched_clock_at_init_jiffy; now = sched_clock(); while (ws > now) ws -= (window_size * TICK_NSEC); BUG_ON(sched_clock() < ws); reset_all_window_stats(ws, window_size); mutex_unlock(&policy_mutex); return 0; } Loading
kernel/sched/fair.c +1 −1 Original line number Diff line number Diff line Loading @@ -1886,7 +1886,7 @@ void post_big_small_task_count_change(void) local_irq_enable(); } static DEFINE_MUTEX(policy_mutex); DEFINE_MUTEX(policy_mutex); static inline int invalid_value(unsigned int *data) { Loading
kernel/sched/sched.h +1 −0 Original line number Diff line number Diff line Loading @@ -687,6 +687,7 @@ extern void init_new_task_load(struct task_struct *p); #define WINDOW_STATS_USE_AVG 2 #define WINDOW_STATS_INVALID_POLICY 3 extern struct mutex policy_mutex; extern unsigned int sched_ravg_window; extern unsigned int sched_use_pelt; extern unsigned int sched_disable_window_stats; Loading