All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Doug Smythies" <dsmythies@telus.net>
To: "'Jörg Otte'" <jrg.otte@gmail.com>,
	"'Srinivas Pandruvada'" <srinivas.pandruvada@linux.intel.com>
Cc: "'Rafael J. Wysocki'" <rafael@kernel.org>,
	"'Linux Kernel Mailing List'" <linux-kernel@vger.kernel.org>,
	<linux-pm@vger.kernel.org>,
	"'Rafael J. Wysocki'" <rjw@rjwysocki.net>
Subject: RE: [intel-pstate driver regression] processor frequency very high even if in idle
Date: Fri, 1 Apr 2016 00:20:32 -0700	[thread overview]
Message-ID: <000d01d18be6$fae22a80$f0a67f80$@net> (raw)
In-Reply-To: <CADDKRnCfaG35EXp_thOqfG=6sjov7f1q521LSGL8oFqRfCqSaw@mail.gmail.com>

On 2016.03.31 02:24 Jörg Otte wrote:
> 2016-03-30 22:26 GMT+02:00 Srinivas Pandruvada wrote:
>> On Wed, 2016-03-30 at 22:12 +0200, Rafael J. Wysocki wrote:
>>> On Wed, Mar 30, 2016 at 8:58 PM, Srinivas Pandruvada wrote:
>>>> On Wed, 2016-03-30 at 11:50 -0700, Doug Smythies wrote:

... [cut]...

>>>>>> Distro: Ubuntu 14.04.4 LTS
>>>>>> Note that with Ubuntu 14.04, I had issues where my CPU
>>>>>> would lock at pstate 24 (not always 24, but usually),
>>>>>> regardless of load.
>>>>>> However, it was always after an S3 suspend, occurred 100%
>>>>>> of the time, and was independent of intel_pstate or
>>>>>> acpi-cpufreq CPU frequency scaling drivers.
>>>>>>
>>>>>> Since changing my test server to Ubuntu server edition 16.04
>>>>>> (development version), I have not had those issues. While I have
>>>>>> no proof, I have assumed the issue elimination was somehow
>>>>>> related
>>>>>> to the change to systemd.
>>>>>>
>>>>>> It might be worth observing both what the intel_pstate is asking
>>>>>> for and what the processor is actually doing.
>>>> If Jörg runs with
>>>>
>> turbostat -i 1 --msr=0x199
>>
>> We can tell whether if we requested or the same problem you had.

Yes, it proves that pstate was requested, but it does not disprove that
the processor is in the locked up state.

...[cut]...

> jojo@fichte:/sys/devices/system/cpu/cpufreq/policy0$ cat scaling_governor
> powersave

> turbostat -i 1 --msr=0x199
> CPUID(7): No-SGX
>     CPU Avg_MHz   Busy% Bzy_MHz TSC_MHz   MSR 0x199
>       -      45    1.74    2590    2496  0x00000000
>       0      45    1.76    2565    2498  0x00000a00
>       1      72    2.84    2548    2496  0x00000800
>       2      30    1.11    2661    2496  0x00001a00
>       3      33    1.23    2661    2495  0x00001a00
>     CPU Avg_MHz   Busy% Bzy_MHz TSC_MHz   MSR 0x199
>       -       9    0.35    2525    2495  0x00000000
>       0       1    0.04    2735    2495  0x00000800
>       1       1    0.05    2501    2495  0x00000800
>       2      17    0.65    2540    2495  0x00001a00
>       3      16    0.64    2501    2495  0x00001a00
>     CPU Avg_MHz   Busy% Bzy_MHz TSC_MHz   MSR 0x199
>       -      11    0.43    2523    2495  0x00000000
>       0       3    0.11    2631    2495  0x00000c00
>       1       7    0.27    2524    2495  0x00000800
>       2      18    0.72    2527    2495  0x00001a00
>       3      15    0.61    2501    2495  0x00001a00

While there are other scenarios that would explain the
data, it is consistent with the processor locked pstate
scenario.

The suggestion is to limit what the intel_pstate driver will ask
for, and observe what is being given.

Example (using my computer, which is working fine):

1.) What is the minimum?

$ cat /sys/devices/system/cpu/intel_pstate/min_perf_pct
42

2.) Set the maximum the same as the minimum?

$ sudo su
root@s15:/home/doug/temp#
root@s15:/home/doug/temp# echo "42" > /sys/devices/system/cpu/intel_pstate/max_perf_pct

3.) check it:

root@s15:/home/doug/temp# cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
42

3.) Observe what is being asked for and given:

root@s15:/home/doug/temp# modprobe msr
root@s15:/home/doug/temp# rdmsr --bitfield 15:8 -d -a 0x198
16
16
16
16
16
16
16
16
root@s15:/home/doug/temp# rdmsr --bitfield 15:8 -d -a 0x199
16
16
16
16
16
16
16
16

Jörg: As Srinivas mentioned, your kernel configuration is very
odd. You mentioned you are using Ubuntu 14.04.4. Could you try
the Ubuntu mainline kernel 4.6-rc1? You can get it here:

http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.6-rc1-wily/

The reason I have been asking for trace data via a different
method than Rafael and Srinivas, is because I use a set
of post processing tools, originally created by the 
original intel_pstate driver maintainer.

... Doug

WARNING: multiple messages have this Message-ID (diff)
From: "Doug Smythies" <dsmythies@telus.net>
To: "'Jörg Otte'" <jrg.otte@gmail.com>,
	"'Srinivas Pandruvada'" <srinivas.pandruvada@linux.intel.com>
Cc: "'Rafael J. Wysocki'" <rafael@kernel.org>,
	'Linux Kernel Mailing List' <linux-kernel@vger.kernel.org>,
	linux-pm@vger.kernel.org,
	"'Rafael J. Wysocki'" <rjw@rjwysocki.net>
Subject: RE: [intel-pstate driver regression] processor frequency very high even if in idle
Date: Fri, 1 Apr 2016 00:20:32 -0700	[thread overview]
Message-ID: <000d01d18be6$fae22a80$f0a67f80$@net> (raw)
In-Reply-To: <CADDKRnCfaG35EXp_thOqfG=6sjov7f1q521LSGL8oFqRfCqSaw@mail.gmail.com>

On 2016.03.31 02:24 Jörg Otte wrote:
> 2016-03-30 22:26 GMT+02:00 Srinivas Pandruvada wrote:
>> On Wed, 2016-03-30 at 22:12 +0200, Rafael J. Wysocki wrote:
>>> On Wed, Mar 30, 2016 at 8:58 PM, Srinivas Pandruvada wrote:
>>>> On Wed, 2016-03-30 at 11:50 -0700, Doug Smythies wrote:

... [cut]...

>>>>>> Distro: Ubuntu 14.04.4 LTS
>>>>>> Note that with Ubuntu 14.04, I had issues where my CPU
>>>>>> would lock at pstate 24 (not always 24, but usually),
>>>>>> regardless of load.
>>>>>> However, it was always after an S3 suspend, occurred 100%
>>>>>> of the time, and was independent of intel_pstate or
>>>>>> acpi-cpufreq CPU frequency scaling drivers.
>>>>>>
>>>>>> Since changing my test server to Ubuntu server edition 16.04
>>>>>> (development version), I have not had those issues. While I have
>>>>>> no proof, I have assumed the issue elimination was somehow
>>>>>> related
>>>>>> to the change to systemd.
>>>>>>
>>>>>> It might be worth observing both what the intel_pstate is asking
>>>>>> for and what the processor is actually doing.
>>>> If Jörg runs with
>>>>
>> turbostat -i 1 --msr=0x199
>>
>> We can tell whether if we requested or the same problem you had.

Yes, it proves that pstate was requested, but it does not disprove that
the processor is in the locked up state.

...[cut]...

> jojo@fichte:/sys/devices/system/cpu/cpufreq/policy0$ cat scaling_governor
> powersave

> turbostat -i 1 --msr=0x199
> CPUID(7): No-SGX
>     CPU Avg_MHz   Busy% Bzy_MHz TSC_MHz   MSR 0x199
>       -      45    1.74    2590    2496  0x00000000
>       0      45    1.76    2565    2498  0x00000a00
>       1      72    2.84    2548    2496  0x00000800
>       2      30    1.11    2661    2496  0x00001a00
>       3      33    1.23    2661    2495  0x00001a00
>     CPU Avg_MHz   Busy% Bzy_MHz TSC_MHz   MSR 0x199
>       -       9    0.35    2525    2495  0x00000000
>       0       1    0.04    2735    2495  0x00000800
>       1       1    0.05    2501    2495  0x00000800
>       2      17    0.65    2540    2495  0x00001a00
>       3      16    0.64    2501    2495  0x00001a00
>     CPU Avg_MHz   Busy% Bzy_MHz TSC_MHz   MSR 0x199
>       -      11    0.43    2523    2495  0x00000000
>       0       3    0.11    2631    2495  0x00000c00
>       1       7    0.27    2524    2495  0x00000800
>       2      18    0.72    2527    2495  0x00001a00
>       3      15    0.61    2501    2495  0x00001a00

While there are other scenarios that would explain the
data, it is consistent with the processor locked pstate
scenario.

The suggestion is to limit what the intel_pstate driver will ask
for, and observe what is being given.

Example (using my computer, which is working fine):

1.) What is the minimum?

$ cat /sys/devices/system/cpu/intel_pstate/min_perf_pct
42

2.) Set the maximum the same as the minimum?

$ sudo su
root@s15:/home/doug/temp#
root@s15:/home/doug/temp# echo "42" > /sys/devices/system/cpu/intel_pstate/max_perf_pct

3.) check it:

root@s15:/home/doug/temp# cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
42

3.) Observe what is being asked for and given:

root@s15:/home/doug/temp# modprobe msr
root@s15:/home/doug/temp# rdmsr --bitfield 15:8 -d -a 0x198
16
16
16
16
16
16
16
16
root@s15:/home/doug/temp# rdmsr --bitfield 15:8 -d -a 0x199
16
16
16
16
16
16
16
16

Jörg: As Srinivas mentioned, your kernel configuration is very
odd. You mentioned you are using Ubuntu 14.04.4. Could you try
the Ubuntu mainline kernel 4.6-rc1? You can get it here:

http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.6-rc1-wily/

The reason I have been asking for trace data via a different
method than Rafael and Srinivas, is because I use a set
of post processing tools, originally created by the 
original intel_pstate driver maintainer.

... Doug



  parent reply	other threads:[~2016-04-01  7:20 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-29 17:24 [intel-pstate driver regression] processor frequency very high even if in idle Jörg Otte
2016-03-29 17:32 ` Jörg Otte
2016-03-29 21:34   ` Rafael J. Wysocki
2016-03-30 10:17     ` Jörg Otte
2016-03-30 11:05       ` Rafael J. Wysocki
2016-03-30 15:29         ` Jörg Otte
2016-03-30 18:39           ` Rafael J. Wysocki
2016-03-31  9:05             ` Jörg Otte
2016-03-31 11:42               ` Rafael J. Wysocki
2016-03-31 15:25                 ` Jörg Otte
2016-03-31 15:43                   ` Rafael J. Wysocki
2016-03-31 16:10                     ` Srinivas Pandruvada
2016-03-31 17:27                     ` Jörg Otte
2016-03-31 17:55                       ` Srinivas Pandruvada
2016-04-01  0:08                         ` Rafael J. Wysocki
2016-04-01  9:42                         ` Jörg Otte
2016-04-01 15:05                           ` Srinivas Pandruvada
2016-04-01 20:24                             ` Rafael J. Wysocki
2016-04-01  9:20                     ` Jörg Otte
2016-04-01 12:40                       ` Rafael J. Wysocki
2016-04-01 14:06                         ` Jörg Otte
2016-04-01 17:44                           ` Srinivas Pandruvada
2016-04-01 18:31                             ` Doug Smythies
2016-04-01 18:41                               ` Srinivas Pandruvada
2016-04-01 19:54                               ` Rafael J. Wysocki
2016-04-01 23:36                                 ` Doug Smythies
2016-04-02  0:28                                   ` Rafael J. Wysocki
2016-04-01 20:28                           ` Rafael J. Wysocki
2016-04-02 22:50                             ` Rafael J. Wysocki
2016-04-01 15:20                         ` Doug Smythies
2016-04-01 16:46                           ` Jörg Otte
2016-04-01 17:34                             ` Jörg Otte
2016-03-30 15:33         ` Pandruvada, Srinivas
2016-03-30 15:51           ` Jörg Otte
2016-03-30 18:50             ` Doug Smythies
2016-03-30 18:50               ` Doug Smythies
2016-03-30 18:58               ` Srinivas Pandruvada
2016-03-30 20:12                 ` Rafael J. Wysocki
2016-03-30 20:26                   ` Srinivas Pandruvada
2016-03-31  9:23                     ` Jörg Otte
2016-03-31 14:39                       ` Doug Smythies
2016-03-31 14:39                         ` Doug Smythies
2016-03-31 15:06                         ` Srinivas Pandruvada
2016-03-31 15:32                           ` Jörg Otte
2016-03-31 15:10                         ` Doug Smythies
2016-03-31 15:10                           ` Doug Smythies
2016-04-01  7:20                       ` Doug Smythies [this message]
2016-04-01  7:20                         ` Doug Smythies
2016-03-30 21:41 Sedat Dilek
2016-03-30 21:58 ` Rafael J. Wysocki
2016-03-30 22:23   ` Sedat Dilek
2016-03-30 22:29     ` Rafael J. Wysocki
2016-03-30 22:18 ` Srinivas Pandruvada
2016-03-30 22:25   ` Rafael J. Wysocki
2016-03-30 22:46     ` Srinivas Pandruvada
2016-03-30 23:17       ` Pandruvada, Srinivas
2016-03-30 23:25         ` Sedat Dilek
2016-03-30 23:28           ` Rafael J. Wysocki
2016-03-30 23:32             ` Sedat Dilek
2016-03-30 23:41               ` Rafael J. Wysocki
2016-03-31  6:38                 ` Sedat Dilek
2016-03-31  7:45                   ` Sedat Dilek
     [not found]                 ` <CAA=4085Mmv7gRpJid8UGQ4ti6c1HhaENnogd8aPrg6E-w68QWg@mail.gmail.com>
2016-03-31  7:28                   ` Navin P.S
2016-03-30 22:50   ` Doug Smythies
2016-03-30 23:12     ` Srinivas Pandruvada
2016-03-31  8:10     ` Sedat Dilek
2016-03-31 14:30       ` Doug Smythies
2016-03-31 14:30         ` Doug Smythies
2016-04-02  6:12         ` Sedat Dilek
     [not found]           ` <CA+icZUVHyq7dOh457rYv+2nmNxPevY0ZcqxhQVhYG4Z1D-NaDA@mail.gmail.com>
2016-04-02 15:28             ` Srinivas Pandruvada
2016-04-02 17:19               ` Jörg Otte
2016-04-02 18:20                 ` Sedat Dilek
2016-04-03 18:59                   ` Doug Smythies
2016-04-03 18:59                     ` Doug Smythies
2016-04-04  5:13                     ` Sedat Dilek
2016-04-04  6:14                       ` Doug Smythies
2016-04-04  6:14                         ` Doug Smythies
2016-04-04 14:12                         ` Sedat Dilek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='000d01d18be6$fae22a80$f0a67f80$@net' \
    --to=dsmythies@telus.net \
    --cc=jrg.otte@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rafael@kernel.org \
    --cc=rjw@rjwysocki.net \
    --cc=srinivas.pandruvada@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.