From owner-freebsd-current@FreeBSD.ORG Thu Nov 18 19:09:20 2010 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A4E28106566C; Thu, 18 Nov 2010 19:09:20 +0000 (UTC) (envelope-from avg@freebsd.org) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id BD2D28FC1C; Thu, 18 Nov 2010 19:09:19 +0000 (UTC) Received: from odyssey.starpoint.kiev.ua (alpha-e.starpoint.kiev.ua [212.40.38.101]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id VAA28332; Thu, 18 Nov 2010 21:09:18 +0200 (EET) (envelope-from avg@freebsd.org) Message-ID: <4CE579DD.2030406@freebsd.org> Date: Thu, 18 Nov 2010 21:09:17 +0200 From: Andriy Gapon User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.2.12) Gecko/20101029 Lightning/1.0b2 Thunderbird/3.1.6 MIME-Version: 1.0 To: freebsd-acpi@freebsd.org, freebsd-current@freebsd.org X-Enigmail-Version: 1.1.2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: Subject: ideas for _PSD/_CSD/_TSD X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Nov 2010 19:09:20 -0000 I am trying to solicit some architectural/design ideas for implementing logic that would honor ACPI _PSD/_CSD/_TSD descriptions of processor dependency domains. Well, I am primarily interested in _PSD, but I think that some general principles could be shared. In simple terms. Currently we do only the "global" P-state management. cpufreq advertises a common set of frequencies/P-states and a single P-state/frequency is set on all (logical) processors by e.g. powerd based on global system load. The downsides are obvious, I think. Modern systems can provide _PSD method which describes grouping of logical processors into P-state domains and nature of dependency between the processors in the domain. E.g. on some systems putting a single processor from the domain into a Px state results in all the processors being put into that state. On other systems, all processors have to be put into the same state for it to become effective. On yet other systems there could be no coordination required between the processors (even when they are all cores in the same package), so each would be placed in its own domain. I think that this issue may get more prominence because of the new technologies that combine power saving with "turbo boosting". E.g. there could be a technology where some processor's performance would only be boosted if other processors are at or above some state Pt. With current cpufreq design we would not be able to take an advantage of that, because we always put all the processors into the same state. Thanks! -- Andriy Gapon