Re: 2.6.24-rc6-git12: Reported regressions from 2.6.23



On Sun, 6 Jan 2008 10:55:01 +0100
Ingo Molnar <mingo@xxxxxxx> wrote:


* Mark Lord <lkml@xxxxxx> wrote:

Rafael J. Wysocki wrote:
This message contains a list of some regressions from 2.6.23
reported since 2.6.24-rc1 was released, for which there are no
fixes in the mainline I know of. If any of them have been fixed
already, please let me know.
..
Subject : 20000+ wake-ups/second in 2.6.24
Submitter : Mark Lord <lkml@xxxxxx>
Date : 2007-12-02 04:23
References : http://lkml.org/lkml/2007/12/1/141
http://bugzilla.kernel.org/show_bug.cgi?id=9489
Handled-By : Arjan van de Ven <arjan@xxxxxxxxxxxxx>


I wonder if it's just a babbling IRQ on resume, before the driver
has run it's resume code or something ?

i've read the discussions, and i cannot see it analyzed anywhere
_what_ causes the wakeups. And how are these wakeups counted? Is this
based on powertop output:

Wakeups-from-idle per second : 20.4 interval: 1.8s

? Somewhere i saw it mentioned that "the CPU throws out of C mode".
What does that mean - does it mean we try to idle again and again,
but we immediately return from C mode - while this all looks like
"idle" time to the scheduler (so 'top' will show lots of idle time),
but the ACPI wakeup counters are going up like mad? What
is /proc/interrupts doing when this happens - is any of the irq
sources going upwards?


what seems to happen (and this is based on seeing this on my own devel laptop, as well
as several other reports; Mark is by far not the only one) is something hardware
related, it's been seen on lots of different kernel versions.

It seems to mostly (but not 100%) happen with TI cardbus bridges, where for some reason,
once the yenta driver is loaded (unloading it later makes no difference), once in a while
we get into a mode where the CPU always immediately goes out of the C-state again.
On a hardware level, there are only a few things that cause a CPU to exit a C-state,
and one of them is a pending interrupt of some kind, which is the most likely thing going on here;
some device or apic being stuck with interrupt high, but somehow the CPU isn't actually
seeing the interrupt itself (or has it blocked!)

To call this a 2.6.24 regression is a mistake (as I've said before), it's not new to .24
by any means.

--
If you want to reach me at my work email, use arjan@xxxxxxxxxxxxxxx
For development, discussion and tips for power savings,
visit http://www.lesswatts.org
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: Slow data transfers across LAN
    ... 21 idle, 1 on processor ... I don't think a well-behaved NIC should put so much stress on the CPU. ... With all the posts/replies, my suspicion is that the PC's BIOS isn't configured optimally for a Unix OS, or your Network cards are flooding your CPU, dropping your performance... ... or there's another bottleneck (Like a PC BIOS IDE controller is stuck on PIO, which is a interrupt driven writing method. ...
    (comp.unix.bsd.openbsd.misc)
  • Re: 2.6.24-rc6-git12: Reported regressions from 2.6.23
    ... Somewhere i saw it mentioned that "the CPU throws out of C mode". ... What does that mean - does it mean we try to idle again and again, ... as several other reports; Mark is by far not the only one) is something hardware ... and one of them is a pending interrupt of some kind, which is the most likely thing going on here; ...
    (Linux-Kernel)
  • Re: tuning for high connection rates
    ... affects performance, CPU time reports, and "top -S" output? ... interrupt, "swi1: net" pops up with 65% CPU. ... PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND ... idle: cpu1 ...
    (freebsd-performance)
  • Re: [patch] ipv4: initialize arp_tbl rw lock
    ... synchronize_rcu() enqueues an RCU callback on ... Later on cpu 0 handles a bunch of RCU batches, ... long time in idle state). ... seconds until finally some interrupt arrived at cpu 0 which made things go ...
    (Linux-Kernel)
  • Re: Atmel releasing FLASH AVR32 ?
    ... A dual thread 40 MHz CPU can replace two 20 MHz CPUs. ... that a thread can only run max 1/2 or 1/3rd of the cycles ... switch at the start of the pipeline, ... equivalent to the interrupt latency. ...
    (comp.arch.embedded)