Bug 165127 - acpi_processor_get_performance_states fails on empty table entries (_PSS)
acpi_processor_get_performance_states fails on empty table entries (_PSS)
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: kernel (Show other bugs)
4.0
All Linux
medium Severity medium
: ---
: ---
Assigned To: Brian Maly
Brian Brock
:
Depends On:
Blocks: 156322
  Show dependency treegraph
 
Reported: 2005-08-04 11:57 EDT by Brian Maly
Modified: 2007-11-30 17:07 EST (History)
0 users

See Also:
Fixed In Version: RHSA-2005-514
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2005-10-05 09:48:32 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
patch to limit max performance supported states (_PSS) (1.29 KB, patch)
2005-08-04 16:07 EDT, Brian Maly
no flags Details | Diff

  None (edit)
Description Brian Maly 2005-08-04 11:57:36 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; rv:1.7.3) Gecko/20041020 Firefox/0.10.1

Description of problem:
acpi_processor_get_performance_states fails on some machines that have empty _PSS entries. The result is that the powernow-k8 module fails to load on some SMP machines (this is hardware specific, some machines may work, many dont).

example (see the "Zero" entries after the valid power state entries):

 Scope(\_PR_) {
                Processor(CPU1, 1, 0x5010, 0x6) {
                    Name(_PCT, Package(0x2) {
                        Buffer(0x11) {0x82, 0xc, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 },
                        Buffer(0x11) {0x82, 0xc, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 },
                    })
                    Name(_PSS, Package(0x4) {
                        Package(0x6) {
                            0x00000898,
                            0x00017318,
                            0x00000064,
                            0x00000007,
                            0xc020120e,
                            0x0000020e,
                        },
                        Package(0x6) {
                            0x000007d0,
                            0x000160bc,
                            0x00000064,
                            0x00000007,
                            0xc020128c,
                            0x0000028c,
                        },
                        Package(0x6) {
                            0x00000708,
                            0x0001287c,
                            0x00000064,
                            0x00000007,
                            0xc020130a,
                            0x0000030a,
                        },
                        Package(0x6) {
                            0x000003e8,
                            0x00008d04,
                            0x00000064,
                            0x00000007,
                            0xc0201482,
                            0x00000482,
                        },
                        Zero,
                        Zero,
                        Zero,
                        Zero,
                        Zero,
                        Zero,
                        Zero,
                        Zero,


Version-Release number of selected component (if applicable):
linux-2.6.9

How reproducible:
Sometimes

Steps to Reproduce:
1. find a machine with ACPI _PSS enablement and "Zero" entries in the _PSS table (use acpidump to get this info if needed)
2. boot SMP enabled kernel
3. modprobe powernow-k8
  

Actual Results:  FATAL: Error inserting powernow_k8 (/lib/modules/2.6.9-prep/kernel/arch/x86_64/kernel/cpufreq/powernow-k8.ko): No such device

exact error: bad ACPI data: _PSS

Expected Results:  module loads correctly and finds all power states in _PSS table

Additional info:

this appears to be fixed in both the 2.4.31 and 2.6.12 kernels

this should be a MUSTFIX as we will otherwise have no SMP Powernow enablement
Comment 1 Brian Maly 2005-08-04 16:07:47 EDT
Created attachment 117479 [details]
patch to limit max performance supported states (_PSS)

This patch scans PSS entries and counts the valid ones, and adds a sanity check
to weed out invalid (or zero) PSS entries.

This patch was tested on a variety of machine and resolves the problem (the
powernow-k8 module loads properly). It seems like more machines than not have
PSS tables that have been "padded out" with zeros.
Comment 6 Brian Maly 2005-08-16 15:11:08 EDT
this should be a MUSTFIX instead of a CANFIX. The Powernow driver will otherwise
fail to load on many new machines (including most of the machines we test with)
Comment 7 Red Hat Bugzilla 2005-10-05 09:48:32 EDT
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 the 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-2005-514.html

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