285c285
< int cpu, best_cpu, weight, best_weight, i,sched_rt;
--- > int cpu, best_cpu, weight, best_weight, i; 289,295d288 < sched_rt = 0; /*default to non-real-time */ < < /* < *Take as much out of the lock as possible < */ < best_cpu = p->processor; < target_tsk = idle_task(best_cpu); 302a296,297 > best_cpu = p->processor; > target_tsk = idle_task(best_cpu); 305,318d299 < /* < *Is this a real time Process? < */ < if ((p->policy & ~SCHED_YIELD) != SCHED_OTHER) < sched_rt=1; < < target_tsk=NULL; < /* < * If the process is real-time, then find the CPU with < * the best preemption goodness, ingore relation in the < * case of real-time. If the process is OTHER, check < * relation for possible contention prevention while < * evaluating best preemptive goodness. < */ 319a301 > target_tsk = NULL; 323c305 < if (!sched_rt && related(tsk, p))--- > if (related(tsk, p))All this does is check at the start to see if the process could be real-time. Only perform the relation check if the process is not real-time. Also, it takes an assignment and an evalutaion out of the lock section to reduce time in lock. please let me know if this is there is a problem with this approach.
Sincerely, JCN
ps. what happened to evaluating the avg slice vs cache_flush time? pps. Ill benchmark this stuff on monday. .`'. .`'. .`'. `.,' `.,' `.,' frizzle@engin.umich.edu "The facts, no matter how interesting they may .`'. .`'. .`'. be, are irrelevant!" `.,' `.,' `.,' (A thought to get you through any crisis)
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/