Messages in this thread | | | Date | Sun, 25 Nov 2007 22:51:36 +0100 (CET) | From | Thomas Gleixner <> | Subject | Re: nohz and strange sleep latencies |
| |
On Sun, 25 Nov 2007, Rafael J. Wysocki wrote: > > Digging into process_32|64.c... > > > > 64: > > while (1) { > > while (!need_resched()) { > > void (*idle)(void); > > > > if (__get_cpu_var(cpu_idle_state)) > > __get_cpu_var(cpu_idle_state) = 0; > > > > tick_nohz_stop_sched_tick(); > > > > 32: > > while (1) { > > tick_nohz_stop_sched_tick(); > > while (!need_resched()) { > > void (*idle)(void); > > > > if (__get_cpu_var(cpu_idle_state)) > > __get_cpu_var(cpu_idle_state) = 0; > > > > ...eek? Which one is wrong? > > Hm, it looks like you should have quoted more lines ... > > In the second case (32), the tick_nohz_stop_sched_tick() seems to be > redundant, so I bet it's this one.
No. Both are fine. the 64bit version calls into tick_nohz_stop_sched_tick() way to often. This is a leftover from the old theory that we can have non-irq caused wakeups. Will fix it.
tglx - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |