cx_lowest and CPU usage

Andriy Gapon avg at icyb.net.ua
Wed Feb 13 16:56:49 UTC 2008


on 11/02/2008 23:33 Andriy Gapon said the following:
> 
> Hmm, it seems that the quirk is only honored if you actually try to use
> C3 state, but it doesn't exclude the state from the available states.
> This is OK, but seems to be a little bit non-user-friendly.
> 


It seems that the following code in acpi_cpu_generic_cx_probe() should
have a check for the quirk (for C3 to not be present in the available
states):

/* Validate and allocate resources for C3 (P_LVL3). */
if (AcpiGbl_FADT->Plvl3Lat <= 1000) {
    gas.Address = sc->cpu_p_blk + 5;
    acpi_bus_alloc_gas(sc->cpu_dev, &cx_ptr->res_type, &sc->cpu_rid, &gas,
        &cx_ptr->p_lvlx, RF_SHAREABLE);
    if (cx_ptr->p_lvlx != NULL) {
        sc->cpu_rid++;
        cx_ptr->type = ACPI_STATE_C3;
        cx_ptr->trans_lat = AcpiGbl_FADT->Plvl3Lat;
        cx_ptr++;
        sc->cpu_cx_count++;
    }
}

I will test this hypothesis tonight.
It is definite that my system goes through this routine, because DSDT
doesn't have _CST defined.


-- 
Andriy Gapon


More information about the freebsd-acpi mailing list