From owner-freebsd-acpi@FreeBSD.ORG Thu Feb 14 09:09:35 2008 Return-Path: Delivered-To: freebsd-acpi@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A020F16A417 for ; Thu, 14 Feb 2008 09:09:35 +0000 (UTC) (envelope-from avg@icyb.net.ua) Received: from falcon.cybervisiontech.com (falcon.cybervisiontech.com [217.20.163.9]) by mx1.freebsd.org (Postfix) with ESMTP id 4C81313C468 for ; Thu, 14 Feb 2008 09:09:34 +0000 (UTC) (envelope-from avg@icyb.net.ua) Received: from localhost (localhost [127.0.0.1]) by falcon.cybervisiontech.com (Postfix) with ESMTP id 6A2E843F4FB; Thu, 14 Feb 2008 11:09:33 +0200 (EET) X-Virus-Scanned: Debian amavisd-new at falcon.cybervisiontech.com Received: from falcon.cybervisiontech.com ([127.0.0.1]) by localhost (falcon.cybervisiontech.com [127.0.0.1]) (amavisd-new, port 10027) with ESMTP id TcEAk7gyDP4n; Thu, 14 Feb 2008 11:09:33 +0200 (EET) Received: from [10.74.70.239] (unknown [193.138.145.53]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by falcon.cybervisiontech.com (Postfix) with ESMTP id C11F043F4AF; Thu, 14 Feb 2008 11:09:19 +0200 (EET) Message-ID: <47B40529.1040400@icyb.net.ua> Date: Thu, 14 Feb 2008 11:08:57 +0200 From: Andriy Gapon User-Agent: Thunderbird 2.0.0.9 (X11/20071208) MIME-Version: 1.0 To: Nate Lawson References: <479F0ED4.9030709@icyb.net.ua> <479F62D9.6080703@root.org> <47A34360.2030105@icyb.net.ua> <47B0BF20.6020906@icyb.net.ua> <47B3214D.2050507@icyb.net.ua> In-Reply-To: <47B3214D.2050507@icyb.net.ua> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: freebsd-acpi@freebsd.org Subject: Re: cx_lowest and CPU usage X-BeenThere: freebsd-acpi@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: ACPI and power management development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Feb 2008 09:09:35 -0000 on 13/02/2008 18:56 Andriy Gapon said the following: > 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. > > The following patch did help to eliminate C3 from cx_supported. Sorry, the patch is a copy/paste, tabs lost, but the change is tiny. @@ -590,7 +595,7 @@ return; /* Validate and allocate resources for C3 (P_LVL3). */ - if (AcpiGbl_FADT.C3Latency <= 1000) { + if (AcpiGbl_FADT.C3Latency <= 1000 && (cpu_quirks & CPU_QUIRK_NO_C3) == 0) { 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); -- Andriy Gapon