From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6EDA73EE1DD for ; Mon, 16 Mar 2026 20:30:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.104.188.4 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773693056; cv=none; b=RnSHLz2LDF/kaa7+CZE3eZWYzzuxiZ9iFM7mbH2TggOnIbwkECTtlFQwlwGIgVrLb6vcSSnqQTZX4NXFoYrIV09f3V2NXcQTSJOVz7MFcM/mr48IdNnYRFt9rIfKFnYqp+531ttaJKrPPzaun4XgEiJTdnae0Hsyunv04Y+BqcI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773693056; c=relaxed/simple; bh=nUnZCtl/WVv6ynPWWOTWwjrVbFOQHUQ3NzjZcRCPO7M=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=coFiwGNapF6pkcsQJ69OCZYF3/b0rh+c8i3QuWeolHd3K4qJ1eb21zL6JERJbrkbDxruSV6ICXKsR6pUKsAd9LjlQVEtJjQOdFWBd2RfTxkxbHl3OOVrCm6aQW8amcEZjnwnTbbF0P7MLdL7ZndFgVbNXMHoIJtEbJ+ahSbs3/Y= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=m5p.com; spf=pass smtp.mailfrom=m5p.com; arc=none smtp.client-ip=74.104.188.4 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=m5p.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=m5p.com Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7]) by mailhost.m5p.com (8.18.1/8.17.1) with ESMTPS id 62GK3bl6095401 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Mon, 16 Mar 2026 16:03:43 -0400 (EDT) (envelope-from ehem@m5p.com) Received: (from ehem@localhost) by m5p.com (8.18.1/8.15.2/Submit) id 62GK3bFC095400; Mon, 16 Mar 2026 13:03:37 -0700 (PDT) (envelope-from ehem) Date: Mon, 16 Mar 2026 13:03:37 -0700 From: Elliott Mitchell To: David Thomson Cc: jgross@suse.com, boris.ostrovsky@oracle.com, olekstysh@gmail.com, tglx@linutronix.de, jbeulich@suse.com, xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] xen/acpi-processor: fix _CST detection using undersized evaluation buffer Message-ID: References: <20260224093707.19679-1-dt@linux-mail.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260224093707.19679-1-dt@linux-mail.net> On Tue, Feb 24, 2026 at 09:37:11AM +0000, David Thomson wrote: > > On a system with dom0_max_vcpus=2 and 8 physical CPUs, only PCPUs 0-1 > receive C-state data. PCPUs 2-7 are stuck in C0/C1 idle, unable to > enter C2/C3. This costs measurable wall power (4W observed on an Intel > Core Ultra 7 265K with Xen 4.20). > > The function never uses the _CST return value -- it only needs to know > whether _CST exists. Replace the broken acpi_evaluate_object() call with > acpi_has_method(), which correctly detects _CST presence using > acpi_get_handle() without any buffer allocation. This brings C-state > detection to parity with the P-state path, which already works correctly > for Phase 2 CPUs. > > Fixes: 59a568029181 ("xen/acpi-processor: C and P-state driver that uploads said data to hypervisor.") > Signed-off-by: David Thomson Tested-by: Elliott Mitchell The window of opportunity happened and I confirmed it fixed the issue for me. I don't know whether this already got in though. > - status = acpi_evaluate_object(handle, "_CST", NULL, &buffer); > - if (ACPI_FAILURE(status)) { > - if (!pblk) > - return AE_OK; > - } > + if (!pblk && !acpi_has_method(handle, "_CST")) > + return AE_OK; > /* .. and it has a C-state */ > __set_bit(acpi_id, acpi_id_cst_present); I had traced the problem to this spot a while back, but I didn't know what an appropriate change was. Since I had a workaround this wasn't urgent. I do know this effects many others, I don't know how urgent this bug is for everyone else. -- (\___(\___(\______ --=> 8-) EHM <=-- ______/)___/)___/) \BS ( | ehem+sigmsg@m5p.com PGP 87145445 | ) / \_CS\ | _____ -O #include O- _____ | / _/ 8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445