Messages in this thread | | | Date | Sat, 24 Jun 2006 21:25:23 +0200 | From | Björn Steinbrink <> | Subject | Re: Measuring tools - top and interrupts |
| |
On 2006.06.24 18:23:12 +0200, Mike Galbraith wrote: > On Sat, 2006-06-24 at 17:40 +0200, Björn Steinbrink wrote: > > On 2006.06.24 13:41:57 +0200, Mike Galbraith wrote: > > > On Sat, 2006-06-24 at 11:52 +0200, Mike Galbraith wrote: > > > > On Sat, 2006-06-24 at 11:21 +0200, Björn Steinbrink wrote: > > > > > > > > > > The non-SMP call to update_process_times() is in do_timer_interrupt_hook(), > > > > > so I guess the above is not the Right Thing to do. > > > > > > > > Ah, there it is. That's what I was looking for. I figured that doing > > > > what I did had to be wrong, but tried it for grins anyway... was pretty > > > > surprised when it worked (kinda). > > > > > > Calling update_process_times() in do_timer_interrupt_hook() flat does > > > not work here. Calling it in smp_local_timer_interrupt() works fine. > > > > > > Oh joy. > > > > I can reproduce it now, seems to require CONFIG_4KSTACKS to fail. Can > > you confirm that? > > What a coincidence. After trying a different compiler, and slogging > through a bunch of assembler trying to figure out how the heck this can > happen, I was just booting an 8k stack kernel (as a wild-ass guess;). > > let's see. Yeah, confirmed.
OK, it also depends on IO APIC being enabled and active, ie. noapic on the kernel command line will fix it as well as disabling CONFIG_X86_IO_APIC. That doesn't help me at all to understand why it happens though. The only difference with IO APIC disabled seems to be that the irq doesn't get ACKed before update_process_times() gets called. And your "fix" makes it being called outside of the xtime_lock spinlock and with a slightly different stack usage AFAICT. But none of these should make a difference, right?
Björn - 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/
| |