Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 94baf7a5 authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

sched/migration: Move prepare transition to SCHED_STARTING state



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: default avatarThomas Gleixner <tglx@linutronix.de>
Acked-by: default avatarPeter Zijlstra <peterz@infradead.org>
Cc: rt@linutronix.de
Link: http://lkml.kernel.org/r/20160310120025.248226511@linutronix.de


Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
parent b2454caa
Loading
Loading
Loading
Loading
+11 −9
Original line number Original line Diff line number Diff line
@@ -5424,11 +5424,6 @@ migration_call(struct notifier_block *nfb, unsigned long action, void *hcpu)


	switch (action & ~CPU_TASKS_FROZEN) {
	switch (action & ~CPU_TASKS_FROZEN) {


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

	case CPU_ONLINE:
	case CPU_ONLINE:
		/* Update our root-domain */
		/* Update our root-domain */
		raw_spin_lock_irqsave(&rq->lock, flags);
		raw_spin_lock_irqsave(&rq->lock, flags);
@@ -7139,9 +7134,19 @@ int sched_cpu_deactivate(unsigned int cpu)
	return 0;
	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)
int sched_cpu_starting(unsigned int cpu)
{
{
	set_cpu_rq_start_time(cpu);
	set_cpu_rq_start_time(cpu);
	sched_rq_cpu_starting(cpu);
	return 0;
	return 0;
}
}


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


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