diff options
Diffstat (limited to 'kernel/sched/core.c')
| -rw-r--r-- | kernel/sched/core.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 90d7ba39e4c2..5c616517d4d3 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -8015,9 +8015,20 @@ void __init sched_init(void) rq->old_estimated_time = 0; rq->old_busy_time_group = 0; rq->hmp_stats.pred_demands_sum = 0; - for (j = 0; j < NUM_SUBTRACTION_WINDOWS; j++) + rq->curr_table = 0; + rq->prev_top = 0; + rq->curr_top = 0; + + for (j = 0; j < NUM_TRACKED_WINDOWS; j++) { memset(&rq->load_subs[j], 0, sizeof(struct load_subtractions)); + + rq->top_tasks[j] = kcalloc(NUM_LOAD_INDICES, + sizeof(u8), GFP_NOWAIT); + + /* No other choice */ + BUG_ON(!rq->top_tasks[j]); + } #endif rq->max_idle_balance_cost = sysctl_sched_migration_cost; |
