From mboxrd@z Thu Jan 1 00:00:00 1970 From: Len Brown Subject: Re: [PATCH 5/5] ACPI: Update the t-state for every affected cpu when t-state is changed Date: Mon, 4 Feb 2008 18:00:25 -0500 Message-ID: <200802041800.25551.lenb@kernel.org> References: <1201499756.17068.27.camel@yakui_zhao.sh.intel.com> <200802020239.42963.lenb@kernel.org> <1201947014.22650.44.camel@yakui_zhao.sh.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Return-path: Received: from hera.kernel.org ([140.211.167.34]:48226 "EHLO hera.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754570AbYBDXAj (ORCPT ); Mon, 4 Feb 2008 18:00:39 -0500 In-Reply-To: <1201947014.22650.44.camel@yakui_zhao.sh.intel.com> Content-Disposition: inline Sender: linux-acpi-owner@vger.kernel.org List-Id: linux-acpi@vger.kernel.org To: Zhao Yakui Cc: linux-acpi@vger.kernel.org On Saturday 02 February 2008 05:10, Zhao Yakui wrote: > On Sat, 2008-02-02 at 02:39 -0500, Len Brown wrote: > > On Monday 28 January 2008 00:55, Zhao Yakui wrote: > > > Subject: ACPI : Update the t-state for every affected cpu when t-state is changed > > > >From : Zhao Yakui > > > > > > According to ACPI spec, the _TSD object provides T-state control cross > > > logical processor dependency information to OSPM. So the t-state > > > coordination should be considered when T-state for one cpu is changed. > > > > > > According to ACPI spec, three types of coordination are defined. > > > SW_ALL, SW_ANY and HW_ALL. > > > > > SW_ALL: it means that OSPM needs to initiate T-state transition on > > > all processors in the domain. It is necessary to call throttling set function > > > for all affected cpus. > > > > > SW_ANY: it means that OSPM may initiate T-state transition on any processor in > > > the domain. > > > > > HW_ALL: Apec only says that hardware will perform the coordination and doesn't > > > recommend how OSPM coordinate T-state among the affected cpus. So it is treated > > > as the type of SW_ALL. It means that OSPM needs to initiate t-state transition > > > on all the processors in the domain. > > > > Not really. HW_ALL means that the OS can assume that the CPUs are independent, > > and hardware will take care of any coordination needed. > Hardware will be responsible for coordinating the state transition > between multiple processors. But hardware should provide OSPM with a > means to determine the actual state residency so that the correct state > is entered. The OS has ACNT/MCNT to find the actual frequency. We use it already in the P-state code to detect when the hardware does soemthing funky with P-state, such as HW coordination, TM1/TM2, or turbo mode. > > > > ie. the OS should implement throttling changes on each CPU depending > > only on that CPU's needs and not need to consider any effects on other CPUs. > > > > This is not the same as SW_ALL, which tells us that all the CPUS in a domain > > are _dependent_, and the OS must enforce that by writing the _same_ value > > to each CPU. > > > > say you have a domain with 2 CPUS. > > If it is HW_ALL and you throttle one cpu, then you are done. > In this case , how to update the state of another cpu? Can it be > treated as SW_ANY? That is the whole point of HW_ALL -- you don't have to worry about the "other" CPU, you worry just about your local decisions and the HW takes care of any dependencies. > > if it is SW_ALL then if you want to throttle one cpu, then you must > > also throttle the other. > I agree. It is necessary to initiate the state transition for every > affected cpu. thanks, -Len