[Bug 236513] Different power states (C1/C2/...) per CPU core

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun Mar 24 20:48:16 UTC 2019


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236513

--- Comment #10 from stockhausen at collogia.de ---
Findings so far:

acpi_cpu_cx_cst() runs fine for CPU core 0. With core 1 something is going
wrong:

1. acpi_cpu_cx_cst() finds C2 state (WHAT WE EXPECT!)
2. in the function the valid states loop comes to this sequence:

...
#endif
        {
            cx_ptr->res_rid = sc->cpu_cx_count;
            acpi_PkgGas(sc->cpu_dev, pkg, 0, &cx_ptr->res_type,
                &cx_ptr->res_rid, &cx_ptr->p_lvlx, RF_SHAREABLE);
            if (cx_ptr->p_lvlx) {
                ACPI_DEBUG_PRINT((ACPI_DB_INFO,
                     "acpi_cpu%d: Got C%d - %d latency\n",
...

2a. acpi_PkgGas() is called
2b. sanity check in acpi_PkgGas() is ok
2c. acpi_PkgGas() calls acpi_bus_alloc_gas() that returns with rc=ENOMEM
2d. In main function cx_ptr->p_lvlx is NULL
2e. C2 is not added to the list of C states

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list