Skip to content

Commit

Permalink
sched/migration: Move prepare transition to SCHED_STARTING state
Browse files Browse the repository at this point in the history
We can piggy pack that on the SCHED_STARTING state. It's not required before
the cpu actually comes online. Name the function proper as it has nothing to
do with migration.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Cc: rt@linutronix.de
Link: http://lkml.kernel.org/r/20160310120025.248226511@linutronix.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
  • Loading branch information
Thomas Gleixner committed May 6, 2016
1 parent b2454ca commit 94baf7a
Showing 1 changed file with 11 additions and 9 deletions.
20 changes: 11 additions & 9 deletions kernel/sched/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -5424,11 +5424,6 @@ migration_call(struct notifier_block *nfb, unsigned long action, void *hcpu)

switch (action & ~CPU_TASKS_FROZEN) {

case CPU_UP_PREPARE:
rq->calc_load_update = calc_load_update;
account_reset_rq(rq);
break;

case CPU_ONLINE:
/* Update our root-domain */
raw_spin_lock_irqsave(&rq->lock, flags);
Expand Down Expand Up @@ -7139,9 +7134,19 @@ int sched_cpu_deactivate(unsigned int cpu)
return 0;
}

static void sched_rq_cpu_starting(unsigned int cpu)
{
struct rq *rq = cpu_rq(cpu);

rq->calc_load_update = calc_load_update;
account_reset_rq(rq);
update_max_interval();
}

int sched_cpu_starting(unsigned int cpu)
{
set_cpu_rq_start_time(cpu);
sched_rq_cpu_starting(cpu);
return 0;
}

Expand Down Expand Up @@ -7182,11 +7187,8 @@ void __init sched_init_smp(void)
static int __init migration_init(void)
{
void *cpu = (void *)(long)smp_processor_id();
int err;

/* Initialize migration for the boot CPU */
err = migration_call(&migration_notifier, CPU_UP_PREPARE, cpu);
BUG_ON(err == NOTIFY_BAD);
sched_rq_cpu_starting(smp_processor_id());
migration_call(&migration_notifier, CPU_ONLINE, cpu);
register_cpu_notifier(&migration_notifier);

Expand Down

0 comments on commit 94baf7a

Please sign in to comment.