Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp689366imm; Fri, 1 Jun 2018 07:58:22 -0700 (PDT) X-Google-Smtp-Source: ADUXVKIlww/YI7PTwBNfNlyDiw0mNSeMP9NDk/FGpCT1nZw4VQ9x6lR5fy99Cdw7/UblPZUCrEma X-Received: by 2002:a17:902:28ab:: with SMTP id f40-v6mr11520751plb.208.1527865102913; Fri, 01 Jun 2018 07:58:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527865102; cv=none; d=google.com; s=arc-20160816; b=SqGG2vpQ2KqNLOcF7RxnKndUVcJsKxWWPuEiwMpjkjHDxgt4al0fLDc3wEaV4qTNFT dkXBBs1VTMCb9jQbh+IlERZ2YJ0Zy4xYlnknRm6fS71i0A1n9UH6RJO7ce8bCwlSylzW Z6b1Lqt4D5nhgXTMqqpvf6qNzVJ+FQoR/+tA3TaulgI97UJ5Sb70hCO3w5PhFnnC9nUx ZjZ3iVoPL6LwNMRfI2mKpER837StVDu2URomZSg8XuxmaB1IU2sMFypGyYzcMoXzjtCP Qyka4wRFY4WTL/aOl13GdckZAtZ+4aIMlFS22vApN4DrmVkPMFEd3u98kppqIrmsZSl6 laVg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:date:cc:to:from:subject:message-id :arc-authentication-results; bh=qUKIAeE7LJs1tj+eXU3+YvioDoHOXBfix4Vux3+U4Ts=; b=HZBbVFASu//Ni4BCoJvjnG6Hvgon5sboQOuYsWslnDhvxrpzQz19KGYxCti5raR6l4 791gwR2H4mM4lDSeA2mYrc6abqQNIYAp2AFtRorz2BFob1wjeBZR9NxwAJx5wkppBlOP MVPDhNFFFYWur58tH8y63oU6R+CvFDPzabfRD29kNch0PLGfwrPut0N0Ygu16hou/Il1 5aWHNe1eF3KGglIubRXSTDpypQLofiBB6QuPLxZolmgUm/sKLV1IOAbfxIUzpV4au51X HYA+h+iJZZzU8rmy6l8j6wASYYB1krTG7jJ3vYMKj/cUG3WESP12HtTXXLpLpHsS8cWv 6QLA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p6-v6si2811980pgv.78.2018.06.01.07.58.07; Fri, 01 Jun 2018 07:58:22 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751902AbeFAO5k (ORCPT + 99 others); Fri, 1 Jun 2018 10:57:40 -0400 Received: from mga03.intel.com ([134.134.136.65]:27027 "EHLO mga03.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751422AbeFAO5i (ORCPT ); Fri, 1 Jun 2018 10:57:38 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 01 Jun 2018 07:57:38 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,467,1520924400"; d="scan'208";a="60457621" Received: from spandruv-mobl.jf.intel.com ([10.254.106.145]) by fmsmga001.fm.intel.com with ESMTP; 01 Jun 2018 07:57:37 -0700 Message-ID: <1527865057.3871.2.camel@linux.intel.com> Subject: Re: [RFC/RFT] [PATCH v3 0/4] Intel_pstate: HWP Dynamic performance boost From: Srinivas Pandruvada To: Giovanni Gherdovich Cc: lenb@kernel.org, rjw@rjwysocki.net, peterz@infradead.org, mgorman@techsingularity.net, linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, juri.lelli@redhat.com, viresh.kumar@linaro.org Date: Fri, 01 Jun 2018 07:57:37 -0700 In-Reply-To: <20180601113209.rp35aukgstkqbxtc@linux-h043> References: <20180531225143.34270-1-srinivas.pandruvada@linux.intel.com> <20180601113209.rp35aukgstkqbxtc@linux-h043> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.22.6 (3.22.6-2.fc25) Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Giovanni, On Fri, 2018-06-01 at 13:32 +0200, Giovanni Gherdovich wrote: > On Thu, May 31, 2018 at 03:51:39PM -0700, Srinivas Pandruvada wrote: > > v3 > > - Removed atomic bit operation as suggested. > > - Added description of contention with user space. > > - Removed hwp cache, boost utililty function patch and merged with > > util callback > >   patch. This way any value set is used somewhere. > > > > Waiting for test results from Mel Gorman, who is the original > > reporter. > > > > Hello Srinivas, > > thanks for this series. I'm testing it on behalf of Mel; while I'm > waiting for > more benchmarks to finish, an initial report I've got from dbench on > ext4 > looks very promising. Good! > Later when I have it all I'll post my detailed results. Thanks. -Srinivas > > > Giovanni Gherdovich > SUSE Labs > > > > v2 > > This is a much simpler version than the previous one and only > > consider IO > > boost, using the existing mechanism. There is no change in this > > series > > beyond intel_pstate driver. > > > > Once PeterZ finishes his work on frequency invariant, I will > > revisit > > thread migration optimization in HWP mode. > > > > Other changes: > > - Gradual boost instead of single step as suggested by PeterZ. > > - Cross CPU synchronization concerns identified by Rafael. > > - Split the patch for HWP MSR value caching as suggested by PeterZ. > > > > Not changed as suggested: > > There is no architecture way to identify platform with Per-core > > P-states, so still have to enable feature based on CPU model. > > > > ----------- > > v1 > > > > This series tries to address some concern in performance > > particularly with IO > > workloads (Reported by Mel Gorman), when HWP is using intel_pstate > > powersave > > policy. > > > > Background > > HWP performance can be controlled by user space using sysfs > > interface for > > max/min frequency limits and energy performance preference > > settings. Based on > > workload characteristics these can be adjusted from user space. > > These limits > > are not changed dynamically by kernel based on workload. > > > > By default HWP defaults to energy performance preference value of > > 0x80 on > > majority of platforms(Scale is 0-255, 0 is max performance and 255 > > is min). > > This value offers best performance/watt and for majority of server > > workloads > > performance doesn't suffer. Also users always have option to use > > performance > > policy of intel_pstate, to get best performance. But user tend to > > run with > > out of box configuration, which is powersave policy on most of the > > distros. > > > > In some case it is possible to dynamically adjust performance, for > > example, > > when a CPU is woken up due to IO completion or thread migrate to a > > new CPU. In > > this case HWP algorithm will take some time to build utilization > > and ramp up > > P-states. So this may results in lower performance for some IO > > workloads and > > workloads which tend to migrate. The idea of this patch series is > > to > > temporarily boost performance dynamically in these cases. This is > > only > > applicable only when user is using powersave policy, not in > > performance policy. > > > > Results on a Skylake server: > > > > Benchmark                       Improvement % > > ----------------------------------------------------------------- > > ----- > > dbench                          50.36 > > thread IO bench (tiobench)      10.35 > > File IO                         9.81 > > sqlite                          15.76 > > X264 -104 cores                 9.75 > > > > Spec Power                      (Negligible impact 7382 Vs. 7378) > > Idle Power                      No change observed > > ----------------------------------------------------------------- > > ------ > > > > HWP brings in best performace/watt at EPP=0x80. Since we are > > boosting > > EPP here to 0, the performance/watt drops upto 10%. So there is a > > power > > penalty of these changes. > > > > Also Mel Gorman provided test results on a prior patchset, which > > shows > > benifits of this series. > > > > Srinivas Pandruvada (4): > >   cpufreq: intel_pstate: Add HWP boost utility and sched util hooks > >   cpufreq: intel_pstate: HWP boost performance on IO wakeup > >   cpufreq: intel_pstate: New sysfs entry to control HWP boost > >   cpufreq: intel_pstate: enable boost for SKX > > > >  drivers/cpufreq/intel_pstate.c | 177 > > ++++++++++++++++++++++++++++++++++++++++- > >  1 file changed, 173 insertions(+), 4 deletions(-) > > > > --  > > 2.13.6 > > > >