6602 if (rq->rd) {
6603 BUG_ON(!cpu_isset(cpu, rq->rd->span));
6604 set_rq_offline(rq);
6605 }
6606 spin_unlock_irqrestore(&rq->lock, flags);
6607 break;
6608#endif
6609 }
6610 return NOTIFY_OK;
6611}
6612
6613
6614
6615
6616static struct notifier_block __cpuinitdata migration_notifier = {
6617 .notifier_call = migration_call,
6618 .priority = 10
6619};
6620
6621static int __init migration_init(void)
6622{
6623 void *cpu = (void *)(long)smp_processor_id();
6624 int err;
6625
6626
6627 err = migration_call(&migration_notifier, CPU_UP_PREPARE, cpu);
6628 BUG_ON(err == NOTIFY_BAD);
6629 migration_call(&migration_notifier, CPU_ONLINE, cpu);
6630 register_cpu_notifier(&migration_notifier);
6631
6632 return err;
6633}
6634early_initcall(migration_init);
6635#endif
6636
6637#ifdef CONFIG_SMP
6638
6639#ifdef CONFIG_SCHED_DEBUG
6640
6641static inline const char *sd_level_to_string(enum sched_domain_level lvl)
6642{