Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752796AbcDOGcE (ORCPT ); Fri, 15 Apr 2016 02:32:04 -0400 Received: from e23smtp08.au.ibm.com ([202.81.31.141]:48487 "EHLO e23smtp08.au.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751145AbcDOGbf (ORCPT ); Fri, 15 Apr 2016 02:31:35 -0400 X-IBM-Helo: d23dlp03.au.ibm.com X-IBM-MailFrom: akshay.adiga@linux.vnet.ibm.com X-IBM-RcptTo: linux-kernel@vger.kernel.org;linux-pm@vger.kernel.org From: Akshay Adiga To: rjw@rjwysocki.net, viresh.kumar@linaro.org, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org Cc: ego@linux.vnet.ibm.com, Akshay Adiga Subject: [PATCH v2 0/2] cpufreq: powernv: Ramp-down global pstate slower than local-pstate Date: Fri, 15 Apr 2016 11:58:57 +0530 Message-Id: <1460701739-31549-1-git-send-email-akshay.adiga@linux.vnet.ibm.com> X-Mailer: git-send-email 2.5.5 X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 16041506-0029-0000-0000-00004553696B Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1480 Lines: 37 The frequency transition latency from pmin to pmax is observed to be in few millisecond granurality. And it usually happens to take a performance penalty during sudden frequency rampup requests. This patch set solves this problem by using a chip-level entity called "global pstates". Global pstate manages elements across other dependent core chiplets. Typically, the element that needs to be managed is the voltage setting. So by holding global pstates higher than local pstate for some amount of time ( ~5 seconds) the subsequent rampups could be made faster. (1/2) patch removes the flag from cpufreq_policy->driver_data, so that it can be used for tracking global pstates. (2/2) patch adds code for global pstate management. - The iozone results with this patchset, shows improvements in almost all cases. - YCSB workload on redis with various target operations per second shows better MaxLatency with this patch. Changes from v1: - Fixed coding style - Added a routine to reset global_pstate_info instead of hacky memset - Handled case when cpufreq_table_validate_and_show() fails - changed int queue_gpstate_timer() to void queue_gpstate_timer() Akshay Adiga (1): cpufreq: powernv: Ramp-down global pstate slower than local-pstate Shilpasri G Bhat (1): cpufreq: powernv: Remove flag use-case of policy->driver_data drivers/cpufreq/powernv-cpufreq.c | 272 +++++++++++++++++++++++++++++++++++--- 1 file changed, 257 insertions(+), 15 deletions(-) -- 2.5.5