patch-2.4.17 linux/kernel/sched.c
Next file: linux/kernel/sysctl.c
Previous file: linux/kernel/ptrace.c
Back to the patch index
Back to the overall index
- Lines: 22
- Date:
Fri Dec 21 16:40:33 2001
- Orig file:
linux-2.4.16/kernel/sched.c
- Orig date:
Thu Nov 22 00:25:48 2001
diff -Naur -X /home/marcelo/lib/dontdiff linux-2.4.16/kernel/sched.c linux/kernel/sched.c
@@ -262,6 +262,21 @@
* a problem.
*/
if (tsk == idle_task(cpu)) {
+#if defined(__i386__) && defined(CONFIG_SMP)
+ /*
+ * Check if two siblings are idle in the same
+ * physical package. Use them if found.
+ */
+ if (smp_num_siblings == 2) {
+ if (cpu_curr(cpu_sibling_map[cpu]) ==
+ idle_task(cpu_sibling_map[cpu])) {
+ oldest_idle = last_schedule(cpu);
+ target_tsk = tsk;
+ break;
+ }
+
+ }
+#endif
if (last_schedule(cpu) < oldest_idle) {
oldest_idle = last_schedule(cpu);
target_tsk = tsk;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)