Bug 217829 - Powernow driver does not work properly with different voltage CPUs
Powernow driver does not work properly with different voltage CPUs
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: kernel (Show other bugs)
4.4
All Linux
high Severity urgent
: rc
: ---
Assigned To: Bhavna Sarathy
chen yuwen
:
Depends On:
Blocks: 485811 583726
  Show dependency treegraph
 
Reported: 2006-11-30 02:33 EST by Charles Rose
Modified: 2011-02-16 10:26 EST (History)
12 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2011-02-16 10:26:41 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
powernow messages from 2.6.9-67.0.4.ELsmp (57.43 KB, text/plain)
2008-05-28 10:50 EDT, Guy Streeter
no flags Details
Patch to resolve this issue (591 bytes, patch)
2010-06-01 13:33 EDT, Mark Langsdorf
no flags Details | Diff
Patch to resolve this issue (483 bytes, patch)
2010-08-31 13:21 EDT, Mark Langsdorf
no flags Details | Diff

  None (edit)
Description Charles Rose 2006-11-30 02:33:58 EST
From Issue Tracker 99637

Description of problem:
The following error message appears when using the powernow-k8 driver on an
Opteron quad-core system with different voltage CPUs:
powernow-k8: ph2 null fid transition 0xc

This is due to the FID transitioning to an invalid state for that processor.
node0,node1 were 1.35V
node2,node3 were 1.30V

powernow-k8: Found 8 AMD Athlon 64 / Opteron processors (version 1.60.0)
powernow-k8: 0 : fid 0x12 (2600 MHz), vid 0x8 (1350 mV) 0
powernow-k8: 1 : fid 0x10 (2400 MHz), vid 0xa (1300 mV) 0
powernow-k8: 2 : fid 0xe (2200 MHz), vid 0xc (1250 mV) 0
powernow-k8: 3 : fid 0xc (2000 MHz), vid 0xe (1200 mV) 0
powernow-k8: 4 : fid 0xa (1800 MHz), vid 0x10 (1150 mV) 0
powernow-k8: 5 : fid 0x2 (1000 MHz), vid 0x12 (1100 mV) 0
powernow-k8: cpu_init done, current fid 0x12, vid 0x8
powernow-k8: 0 : fid 0x12 (2600 MHz), vid 0x8 (1350 mV) 1
powernow-k8: 1 : fid 0x10 (2400 MHz), vid 0xa (1300 mV) 1
powernow-k8: 2 : fid 0xe (2200 MHz), vid 0xc (1250 mV) 1
powernow-k8: 3 : fid 0xc (2000 MHz), vid 0xe (1200 mV) 1
powernow-k8: 4 : fid 0xa (1800 MHz), vid 0x10 (1150 mV) 1
powernow-k8: 5 : fid 0x2 (1000 MHz), vid 0x12 (1100 mV) 1
powernow-k8: cpu_init done, current fid 0x12, vid 0x8
powernow-k8: 0 : fid 0x12 (2600 MHz), vid 0x8 (1350 mV) 2
powernow-k8: 1 : fid 0x10 (2400 MHz), vid 0xa (1300 mV) 2
powernow-k8: 2 : fid 0xe (2200 MHz), vid 0xc (1250 mV) 2
powernow-k8: 3 : fid 0xc (2000 MHz), vid 0xe (1200 mV) 2
powernow-k8: 4 : fid 0xa (1800 MHz), vid 0x10 (1150 mV) 2
powernow-k8: 5 : fid 0x2 (1000 MHz), vid 0x12 (1100 mV) 2
powernow-k8: cpu_init done, current fid 0x12, vid 0xa <-- INVALID
powernow-k8: 0 : fid 0x12 (2600 MHz), vid 0x8 (1350 mV) 3
powernow-k8: 1 : fid 0x10 (2400 MHz), vid 0xa (1300 mV) 3
powernow-k8: 2 : fid 0xe (2200 MHz), vid 0xc (1250 mV) 3
powernow-k8: 3 : fid 0xc (2000 MHz), vid 0xe (1200 mV) 3
powernow-k8: 4 : fid 0xa (1800 MHz), vid 0x10 (1150 mV) 3
powernow-k8: 5 : fid 0x2 (1000 MHz), vid 0x12 (1100 mV) 3
powernow-k8: cpu_init done, current fid 0x12, vid 0xa <-- INVALID
powernow-k8: 0 : fid 0x12 (2600 MHz), vid 0xa (1300 mV) 4
powernow-k8: 1 : fid 0x10 (2400 MHz), vid 0xc (1250 mV) 4
powernow-k8: 2 : fid 0xe (2200 MHz), vid 0xe (1200 mV) 4
powernow-k8: 3 : fid 0xc (2000 MHz), vid 0x10 (1150 mV) 4
powernow-k8: 4 : fid 0xa (1800 MHz), vid 0x10 (1150 mV) 4
powernow-k8: 5 : fid 0x2 (1000 MHz), vid 0x12 (1100 mV) 4
powernow-k8: cpu_init done, current fid 0x12, vid 0x8 <-- INVALID
powernow-k8: 0 : fid 0x12 (2600 MHz), vid 0xa (1300 mV) 5
powernow-k8: 1 : fid 0x10 (2400 MHz), vid 0xc (1250 mV) 5
powernow-k8: 2 : fid 0xe (2200 MHz), vid 0xe (1200 mV) 5
powernow-k8: 3 : fid 0xc (2000 MHz), vid 0x10 (1150 mV) 5
powernow-k8: 4 : fid 0xa (1800 MHz), vid 0x10 (1150 mV) 5
powernow-k8: 5 : fid 0x2 (1000 MHz), vid 0x12 (1100 mV) 5
powernow-k8: cpu_init done, current fid 0x12, vid 0x8 <-- INVALID
powernow-k8: 0 : fid 0x12 (2600 MHz), vid 0xa (1300 mV) 6
powernow-k8: 1 : fid 0x10 (2400 MHz), vid 0xc (1250 mV) 6
powernow-k8: 2 : fid 0xe (2200 MHz), vid 0xe (1200 mV) 6
powernow-k8: 3 : fid 0xc (2000 MHz), vid 0x10 (1150 mV) 6
powernow-k8: 4 : fid 0xa (1800 MHz), vid 0x10 (1150 mV) 6
powernow-k8: 5 : fid 0x2 (1000 MHz), vid 0x12 (1100 mV) 6
powernow-k8: cpu_init done, current fid 0x12, vid 0xa <-- INVALID
powernow-k8: 0 : fid 0x12 (2600 MHz), vid 0xa (1300 mV) 7
powernow-k8: 1 : fid 0x10 (2400 MHz), vid 0xc (1250 mV) 7
powernow-k8: 2 : fid 0xe (2200 MHz), vid 0xe (1200 mV) 7
powernow-k8: 3 : fid 0xc (2000 MHz), vid 0x10 (1150 mV) 7
powernow-k8: 4 : fid 0xa (1800 MHz), vid 0x10 (1150 mV) 7
powernow-k8: 5 : fid 0x2 (1000 MHz), vid 0x12 (1100 mV) 7
powernow-k8: cpu_init done, current fid 0x12, vid 0x8  
Additional Information  The MADT orders CPUS this way:
node0,core0
node1,core0
node2,core0
node3,core0
node0,core1
node1,core1
node2,core1
node3,core1

however, in the SSDT (_PSS) they appear to be ordered:
node0,core0
node0,core1
node1,core0
node1,core1
node2,core0
node2,core1
node3,core0
node3,core1

The powernow driver assumes that cores are in consecutive entries in the _PSS. 
However, consecutive smp_processor_ids() are not consecutive cores. The powernow
driver needs to do an additional translation to map ACPI Ids to APIC IDs when
setting CPU mask when reading/writing the MSRs to read/write FID/VID.

Version-Release number of selected component (if applicable):
RHEL 4 Update 3/ update 4
Comment 1 Samuel Benjamin 2007-02-14 18:09:41 EST
Dell is requesting this for 4.5. Adding flags to seek engineering attention.
Comment 2 Charles Rose 2007-02-21 06:16:23 EST
Setting priority to urgent.

Dell will be shipping more AMD based machine this year. PowerNow feature is
critical for Dell from an energy efficiency perspective. We need this fixed in
RHEL 4.5.
Comment 3 Brian Maly 2007-02-21 11:02:29 EST
A fix for this had already been included in the 4.5 kernel. Please test with a
4.5 kernel and confirm it resolves this issue.
Comment 5 Charles Rose 2007-03-07 07:56:42 EST
Testing with RHEL 4.5 Beta (kernel-2.6.9-48.EL)
Comment 6 Brian Maly 2007-03-07 12:32:32 EST
Testing results were positive we assume? Can we mark this Bug as 'fixed'?
Comment 7 Kevin Krafthefer 2007-03-28 16:45:13 EDT
Sammy, Please provide feedback on the testing.
Comment 8 Suzanne Yeghiayan 2007-04-16 15:07:16 EDT
This bugzilla was not resolved in time for RHEL 4.5.
Moved to RHEL 4.6.
Comment 10 Brian Maly 2007-05-02 12:50:38 EDT
Can we please get some feedback regarding if the problem is fixed in RHEL4.5 or not?
Comment 11 RHEL Product and Program Management 2007-05-09 04:43:21 EDT
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.
Comment 13 John Feeney 2007-06-26 11:42:51 EDT
It looks like Brian is still waiting for test results from Dell. Re-setting
Needinfo.
Comment 14 RHEL Product and Program Management 2007-09-07 15:38:45 EDT
This request was previously evaluated by Red Hat Product Management
for inclusion in the current Red Hat Enterprise Linux release, but
Red Hat was unable to resolve it in time.  This request will be
reviewed for a future Red Hat Enterprise Linux release.
Comment 15 John Feeney 2007-09-07 16:04:36 EDT
Whether 4.6 or 4.7 flag is set, it still needs to be tested to see if it
has been fixed. Setting 4.7 flag to '?' and re-setting needinfo status.
Comment 16 John Feeney 2008-02-06 14:00:49 EST
Raghavendra,
Could you please look at this? 

I think it should be closed, one way or the other.
 Thanks
Comment 18 Guy Streeter 2008-05-28 10:50:12 EDT
Created attachment 306936 [details]
powernow messages from 2.6.9-67.0.4.ELsmp

These message still appear in the 2.6.9-67.0.4.ELsmp kernel. log file attached.
Comment 24 John Feeney 2008-07-09 11:09:52 EDT
Upon further review, this problem appears to be recently fixed by another
bugzilla. The following comment was copied from that bugzilla ("powernow-k8:
unnecessary error messages with synchronized P-state transitions"):

     PartnerVerified. RHELU7 Snapshot 3. (kernel 2.6.9-73.EL).

I would suggest that the RHEL4.7 snapshot 3 kernel be used to re-test this 
bugzilla. 

If this is found to be true, this bugzilla can be closed as a dup.
Comment 26 Guy Streeter 2008-07-16 15:13:55 EDT
My customer tested 2.6.9-78.EL, and still sees this:

Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8: Found 2 Dual-Core AMD
Opteron(tm) Processor 2220 SE processors (4 c
pu cores) (version 2.00.00-rhel4)
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    0 : fid 0x14 (2800 MHz),
vid 0x7
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    1 : fid 0x12 (2600 MHz),
vid 0x9
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    2 : fid 0x10 (2400 MHz),
vid 0xb
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    3 : fid 0xe (2200 MHz),
vid 0xd
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    4 : fid 0xc (2000 MHz),
vid 0xf
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    5 : fid 0xa (1800 MHz),
vid 0x11
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    6 : fid 0x2 (1000 MHz),
vid 0x12
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    0 : fid 0x14 (2800 MHz),
vid 0x7
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    1 : fid 0x12 (2600 MHz),
vid 0x9
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    2 : fid 0x10 (2400 MHz),
vid 0xb
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    3 : fid 0xe (2200 MHz),
vid 0xd
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    4 : fid 0xc (2000 MHz),
vid 0xf
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    5 : fid 0xa (1800 MHz),
vid 0x11
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    6 : fid 0x2 (1000 MHz),
vid 0x12
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    0 : fid 0x14 (2800 MHz),
vid 0x9
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    1 : fid 0x12 (2600 MHz),
vid 0xb
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    2 : fid 0x10 (2400 MHz),
vid 0xd
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    3 : fid 0xe (2200 MHz),
vid 0xf
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    4 : fid 0xc (2000 MHz),
vid 0x11
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    5 : fid 0xa (1800 MHz),
vid 0x11
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    6 : fid 0x2 (1000 MHz),
vid 0x12
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8: ph2 null fid transition 0x14
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    0 : fid 0x14 (2800 MHz),
vid 0x9
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    1 : fid 0x12 (2600 MHz),
vid 0xb
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    2 : fid 0x10 (2400 MHz),
vid 0xd
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    3 : fid 0xe (2200 MHz),
vid 0xf
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    4 : fid 0xc (2000 MHz),
vid 0x11
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    5 : fid 0xa (1800 MHz),
vid 0x11
Jul 15 16:05:46 bngsti-n-d99971 kernel: powernow-k8:    6 : fid 0x2 (1000 MHz),
vid 0x12
Jul 15 16:06:00 bngsti-n-d99971 kernel: powernow-k8: ph2 null fid transition 0x14
Jul 15 16:06:00 bngsti-n-d99971 kernel: powernow-k8: ph2 null fid transition 0x14
Jul 15 16:06:00 bngsti-n-d99971 kernel: powernow-k8: ph2 null fid transition 0x12
Jul 15 16:06:01 bngsti-n-d99971 kernel: powernow-k8: ph2 null fid transition 0x10
Jul 15 16:06:01 bngsti-n-d99971 kernel: powernow-k8: ph2 null fid transition 0xe
Jul 15 16:06:01 bngsti-n-d99971 kernel: powernow-k8: ph2 null fid transition 0xc
Jul 15 16:08:18 bngsti-n-d99971 kernel: powernow-k8: ph2 null fid transition 0x14
Jul 15 16:08:18 bngsti-n-d99971 kernel: powernow-k8: ph2 null fid transition 0x14
Comment 28 Brian Maly 2008-08-08 13:52:17 EDT
Does this work with any kernel other kernel? Can some test a RHEL5 kernel or a new upstream kernel? 

I just want to determine if this is a RHEL4 only problem (that can be solved by backporting from upstream) or if this problem affects all linux kernels in general. 

Thanks.
Comment 31 RHEL Product and Program Management 2008-09-03 09:04:54 EDT
Updating PM score.
Comment 66 RHEL Product and Program Management 2010-04-19 11:44:21 EDT
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.
Comment 70 RHEL Product and Program Management 2010-05-07 12:39:45 EDT
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.
Comment 72 Mark Langsdorf 2010-06-01 13:33:06 EDT
Created attachment 418745 [details]
Patch to resolve this issue

The driver isn't really operating improperly.  The transition attempt from one frequency to the same frequency at a slightly different voltage is already caught by the driver and canceled.  The warning message is unnecessary and is a legacy from a much earlier design of the driver.

As such, I'm adding a patch that removes the warning message.
Comment 73 Bhavna Sarathy 2010-08-31 10:30:20 EDT
posted to list for review
Comment 74 Mark Langsdorf 2010-08-31 13:21:46 EDT
Created attachment 442239 [details]
Patch to resolve this issue

Fixed patch to apply cleanly.
Comment 75 Vivek Goyal 2010-10-14 10:38:32 EDT
Committed in 89.43.EL . RPMS are available at http://people.redhat.com/vgoyal/rhel4/
Comment 79 chen yuwen 2011-01-25 01:23:59 EST
Can not reproduce the bug on RHEL4.7.
Could you please give me the producer?
Comment 80 chen yuwen 2011-01-25 23:35:39 EST
Confirm the patch on kernel 2.6.9-89.43.EL.
Setting SanityOnly.
Comment 81 errata-xmlrpc 2011-02-16 10:26:41 EST
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2011-0263.html

Note You need to log in before you can comment on or make changes to this bug.