Re: cpupower: Implement cpuidle disable interface and Haswell c-state monitoring

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/02/2013 07:53 PM, Thomas Renninger wrote:
> On Wednesday, May 29, 2013 05:15:29 PM Daniel Lezcano wrote:
>> On 05/29/2013 03:50 PM, Thomas Renninger wrote:
>>> On Wednesday, May 29, 2013 03:38:59 PM Thomas Renninger wrote:
>>>> Hi Rafael,
>>>>
>>>> it would be great if you could queue these up.
>>>
>>> While trying the disable interface with a recent kernel I found
>>> a sever issue:
>>>
>>> One core seem to fire interrupts at a high rate.
>>> intel_idle driver does not even enter C1, but only enters the POLL dummy
>>> sleep state.
>>>
>>> perf top shows that only intel_idle is involved:
>>>                90.00 70.9% intel_idle             [kernel.kallsyms]
>>>                16.00 12.6% _raw_spin_lock_irqsave [kernel.kallsyms]
>>>
>>> and that quite some (local) interrupts are happening:
>>> PerfTop:    1016 irqs/sec
>>>
>>> cpupower monitor -m Mperf,Idle_Stats
>>>
>>> shows:
>>>                           |Mperf                     || Idle_Stats
>>>
>>> PKG |CORE|CPU | C0    | Cx     | Freq  || POLL | C1-N | C1E- | C3-N | C6-N
>>>
>>>      1|       0|     0| 99.89|  0.11|  3065|| 99.81|  0.00|  0.00|  0.00| 
>>>      0.00
>>>
>>> on the affected core and expected idleness:
>>>                           |Mperf                     || Idle_Stats
>>>
>>> PKG |CORE|CPU | C0   | Cx     | Freq  || POLL | C1-N | C1E- | C3-N | C6-N
>>>
>>>      0|       3|   15|  0.04| 99.96|  1595||  0.00|   0.00|  0.00|   0.00|
>>>      99.99
>>>
>>> on the other other cores.
>>> I have seen this on a 3.10.0-rc2 kernel on a bigger server machine, but
>>> with a 3.9.x kernel on a smaller desktop machine as well.
>>>
>>> Is this known already?
>>> Any candidates I could try to revert?
>>
>> I was not able to reproduce it.
> Did you try on a recent Intel processor machine?
> Both machines I tried had rather recent Intel cpus.

The more recent processor I have is an i7-3520M.

>> Can you give the output of /proc/interrupts when that happens ?
> 
> cat /proc/interrupts >/tmp/irqs;sleep 1;cat /proc/interrupts >>/tmp/irqs
> uname -r
> 3.10.0-rc2-3.g17364b5-default
> 
> I also tried the latest:
> 3.10.0-rc3-119-ga93cb29-1-vanilla
> without any SUSE patches and it still shows the issue.
> 
> Find also attached /proc/cpuinfo and /proc/config.gz

AFAICT, there are a lot of local timer and CAL interrupts.

Did you gather the infos after booting and disabling the state ? Or was
your system running already running ?

The poll state is rarely used in the system, if I am correct, it should
be used when there a timer should expire within 5us (in the menu
governor). Perhaps, there is a problem with a timer ?


-- 
 <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog





[Index of Archives]     [Linux ACPI]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [CPU Freq]     [Kernel Newbies]     [Fedora Kernel]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux