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
Dell is requesting this for 4.5. Adding flags to seek engineering attention.
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.
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.
Testing with RHEL 4.5 Beta (kernel-2.6.9-48.EL)
Testing results were positive we assume? Can we mark this Bug as 'fixed'?
Sammy, Please provide feedback on the testing.
This bugzilla was not resolved in time for RHEL 4.5. Moved to RHEL 4.6.
Can we please get some feedback regarding if the problem is fixed in RHEL4.5 or not?
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.
It looks like Brian is still waiting for test results from Dell. Re-setting Needinfo.
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.
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.
Raghavendra, Could you please look at this? I think it should be closed, one way or the other. Thanks
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.
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.
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
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.
Updating PM score.
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.
posted to list for review
Created attachment 442239 [details] Patch to resolve this issue Fixed patch to apply cleanly.
Committed in 89.43.EL . RPMS are available at http://people.redhat.com/vgoyal/rhel4/
Can not reproduce the bug on RHEL4.7. Could you please give me the producer?
Confirm the patch on kernel 2.6.9-89.43.EL. Setting SanityOnly.
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