rq->sd = &sched_domain_dummy; 
rq->sd = NULL; 
void __init sched_init(void){	runqueue_t *rq;	int i, j, k;	for (i = 0; i < NR_CPUS; i++) {		prio_array_t *array;		rq = cpu_rq(i);		spin_lock_init(&rq->lock);		rq->nr_running = 0;		rq->active = rq->arrays;		rq->expired = rq->arrays + 1;		rq->best_expired_prio = MAX_PRIO;#ifdef CONFIG_SMP		rq->sd = &sched_domain_dummy;		for (j = 1; j < 3; j++)			rq->cpu_load[j] = 0;		rq->active_balance = 0;		rq->push_cpu = 0;		rq->migration_thread = NULL;		INIT_LIST_HEAD(&rq->migration_queue);#endif		atomic_set(&rq->nr_iowait, 0);		for (j = 0; j < 2; j++) {			array = rq->arrays + j;			for (k = 0; k < MAX_PRIO; k++) {				INIT_LIST_HEAD(array->queue + k);				__clear_bit(k, array->bitmap);			}			// delimiter for bitsearch			__set_bit(MAX_PRIO, array->bitmap);		}	}	/*	 * The boot idle thread does lazy MMU switching as well:	 */	atomic_inc(&init_mm.mm_count);	enter_lazy_tlb(&init_mm, current);	/*	 * Make us the idle thread. Technically, schedule() should not be	 * called from this thread, however somewhere below it might be,	 * but because we are the idle thread, we just pick up running again	 * when this runqueue becomes "idle".	 */	init_idle(current, smp_processor_id());}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/41c7ce9ad9a859871dffbe7dbc8b1f9571724e3c/sched.c/buggy/kernel/sched.c