Re: scalable kmap (was Re: vm lock contention reduction)
From: Martin J. Bligh <hidden>
Date: 2002-07-10 23:26:56
Yes, I've seen the in-kernel profiler doing odd things. If you're not using the local APIC timer then I think the new IRQ balancing code will break the profiler by steering the clock interrupts away from busy CPUs (!).
The first patch we apply is this diff -Nur linux-2.5.23-vanilla/arch/i386/kernel/io_apic.c linux-2.5.23-patched/arch/i386/kernel/io_apic.c
--- linux-2.5.23-vanilla/arch/i386/kernel/io_apic.c Tue Jun 18 19:11:52 2002
+++ linux-2.5.23-patched/arch/i386/kernel/io_apic.c Thu Jun 27 14:28:51 2002@@ -247,7 +247,7 @@ static inline void balance_irq(int irq) { -#if CONFIG_SMP +#if (CONFIG_SMP && !CONFIG_MULTIQUAD) irq_balance_t *entry = irq_balance + irq; unsigned long now = jiffies;
Which should turn of IRQ balancing completely, I think ...
But ISTR that the profiler has gone whacky even with CONFIG_X86_LOCAL_APIC, which shouldn't be affected by the IRQ steering.
Interrupt 0 will only ever go the first quad (well, it should do if I actually fixed the timers), but CONFIG_X86_LOCAL_APIC=y is on. Wierd ...
But NMI-based oprofile is bang-on target so I recommend you use that. I'll publish my oprofile-for-2.5 asap.
That'd be good, but I'm not sure my box likes NMIs too much ;-) We'll see .... M. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/