patch-2.4.20 linux-2.4.20/kernel/softirq.c
Next file: linux-2.4.20/kernel/time.c
Previous file: linux-2.4.20/kernel/signal.c
Back to the patch index
Back to the overall index
- Lines: 32
- Date:
Thu Nov 28 15:53:15 2002
- Orig file:
linux-2.4.19/kernel/softirq.c
- Orig date:
Fri Aug 2 17:39:46 2002
diff -urN linux-2.4.19/kernel/softirq.c linux-2.4.20/kernel/softirq.c
@@ -40,7 +40,7 @@
- Bottom halves: globally serialized, grr...
*/
-irq_cpustat_t irq_stat[NR_CPUS];
+irq_cpustat_t irq_stat[NR_CPUS] ____cacheline_aligned;
static struct softirq_action softirq_vec[32] __cacheline_aligned;
@@ -260,8 +260,7 @@
while (test_and_set_bit(TASKLET_STATE_SCHED, &t->state)) {
current->state = TASK_RUNNING;
do {
- current->policy |= SCHED_YIELD;
- schedule();
+ yield();
} while (test_bit(TASKLET_STATE_SCHED, &t->state));
}
tasklet_unlock_wait(t);
@@ -405,10 +404,8 @@
CLONE_FS | CLONE_FILES | CLONE_SIGNAL) < 0)
printk("spawn_ksoftirqd() failed for cpu %d\n", cpu);
else {
- while (!ksoftirqd_task(cpu_logical_map(cpu))) {
- current->policy |= SCHED_YIELD;
- schedule();
- }
+ while (!ksoftirqd_task(cpu_logical_map(cpu)))
+ yield();
}
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)