From: Francisco Jerez <currojerez@riseup.net>
To: lenb@kernel.org, rjw@rjwysocki.net, mgorman@techsingularity.net
Cc: peterz@infradead.org, linux-pm@vger.kernel.org,
linux-kernel@vger.kernel.org, juri.lelli@redhat.com,
viresh.kumar@linaro.org, ggherdovich@suse.cz,
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>,
Chris Wilson <chris@chris-wilson.co.uk>,
Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>,
Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
Eero Tamminen <eero.t.tamminen@intel.com>
Subject: Re: [PATCH 4/4] cpufreq: intel_pstate: enable boost for Skylake Xeon
Date: Fri, 27 Jul 2018 22:34:03 -0700 [thread overview]
Message-ID: <87bmarhqk4.fsf@riseup.net> (raw)
In-Reply-To: <20180605214242.62156-5-srinivas.pandruvada@linux.intel.com>
[-- Attachment #1.1: Type: text/plain, Size: 2513 bytes --]
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> writes:
> Enable HWP boost on Skylake server and workstations.
>
Please revert this series, it led to significant energy usage and
graphics performance regressions [1]. The reasons are roughly the ones
we discussed by e-mail off-list last April: This causes the intel_pstate
driver to decrease the EPP to zero when the workload blocks on IO
frequently enough, which for the regressing benchmarks detailed in [1]
is a symptom of the workload being heavily IO-bound, which means they
won't benefit at all from the EPP boost since they aren't significantly
CPU-bound, and they will suffer a decrease in parallelism due to the
active CPU core using a larger fraction of the TDP in order to achieve
the same work, causing the GPU to have a lower power budget available,
leading to a decrease in system performance.
You may want to give a shot to my previous suggestion of using [2] in
order to detect whether the system is IO-bound, which you can use as an
indicator that the optimization implemented in this series cannot
possibly improve performance and can be expected to hurt energy usage.
Thanks.
[1] https://bugs.freedesktop.org/show_bug.cgi?id=107410
[2] https://patchwork.kernel.org/patch/10312259/
> Reported-by: Mel Gorman <mgorman@techsingularity.net>
> Tested-by: Giovanni Gherdovich <ggherdovich@suse.cz>
> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
> ---
> drivers/cpufreq/intel_pstate.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
> index 70bf63bb4e0e..01c8da1f99db 100644
> --- a/drivers/cpufreq/intel_pstate.c
> +++ b/drivers/cpufreq/intel_pstate.c
> @@ -1794,6 +1794,12 @@ static const struct x86_cpu_id intel_pstate_cpu_ee_disable_ids[] = {
> {}
> };
>
> +static const struct x86_cpu_id intel_pstate_hwp_boost_ids[] __initconst = {
> + ICPU(INTEL_FAM6_SKYLAKE_X, core_funcs),
> + ICPU(INTEL_FAM6_SKYLAKE_DESKTOP, core_funcs),
> + {}
> +};
> +
> static int intel_pstate_init_cpu(unsigned int cpunum)
> {
> struct cpudata *cpu;
> @@ -1824,6 +1830,10 @@ static int intel_pstate_init_cpu(unsigned int cpunum)
> intel_pstate_disable_ee(cpunum);
>
> intel_pstate_hwp_enable(cpu);
> +
> + id = x86_match_cpu(intel_pstate_hwp_boost_ids);
> + if (id)
> + hwp_boost = true;
> }
>
> intel_pstate_get_cpu_pstates(cpu);
> --
> 2.13.6
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Francisco Jerez <currojerez@riseup.net>
To: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>,
lenb@kernel.org, rjw@rjwysocki.net, mgorman@techsingularity.net
Cc: peterz@infradead.org, linux-pm@vger.kernel.org,
linux-kernel@vger.kernel.org, juri.lelli@redhat.com,
viresh.kumar@linaro.org, ggherdovich@suse.cz,
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>,
Chris Wilson <chris@chris-wilson.co.uk>,
Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>,
Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
Eero Tamminen <eero.t.tamminen@intel.com>
Subject: Re: [PATCH 4/4] cpufreq: intel_pstate: enable boost for Skylake Xeon
Date: Fri, 27 Jul 2018 22:34:03 -0700 [thread overview]
Message-ID: <87bmarhqk4.fsf@riseup.net> (raw)
In-Reply-To: <20180605214242.62156-5-srinivas.pandruvada@linux.intel.com>
[-- Attachment #1.1: Type: text/plain, Size: 2513 bytes --]
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> writes:
> Enable HWP boost on Skylake server and workstations.
>
Please revert this series, it led to significant energy usage and
graphics performance regressions [1]. The reasons are roughly the ones
we discussed by e-mail off-list last April: This causes the intel_pstate
driver to decrease the EPP to zero when the workload blocks on IO
frequently enough, which for the regressing benchmarks detailed in [1]
is a symptom of the workload being heavily IO-bound, which means they
won't benefit at all from the EPP boost since they aren't significantly
CPU-bound, and they will suffer a decrease in parallelism due to the
active CPU core using a larger fraction of the TDP in order to achieve
the same work, causing the GPU to have a lower power budget available,
leading to a decrease in system performance.
You may want to give a shot to my previous suggestion of using [2] in
order to detect whether the system is IO-bound, which you can use as an
indicator that the optimization implemented in this series cannot
possibly improve performance and can be expected to hurt energy usage.
Thanks.
[1] https://bugs.freedesktop.org/show_bug.cgi?id=107410
[2] https://patchwork.kernel.org/patch/10312259/
> Reported-by: Mel Gorman <mgorman@techsingularity.net>
> Tested-by: Giovanni Gherdovich <ggherdovich@suse.cz>
> Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
> ---
> drivers/cpufreq/intel_pstate.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
> index 70bf63bb4e0e..01c8da1f99db 100644
> --- a/drivers/cpufreq/intel_pstate.c
> +++ b/drivers/cpufreq/intel_pstate.c
> @@ -1794,6 +1794,12 @@ static const struct x86_cpu_id intel_pstate_cpu_ee_disable_ids[] = {
> {}
> };
>
> +static const struct x86_cpu_id intel_pstate_hwp_boost_ids[] __initconst = {
> + ICPU(INTEL_FAM6_SKYLAKE_X, core_funcs),
> + ICPU(INTEL_FAM6_SKYLAKE_DESKTOP, core_funcs),
> + {}
> +};
> +
> static int intel_pstate_init_cpu(unsigned int cpunum)
> {
> struct cpudata *cpu;
> @@ -1824,6 +1830,10 @@ static int intel_pstate_init_cpu(unsigned int cpunum)
> intel_pstate_disable_ee(cpunum);
>
> intel_pstate_hwp_enable(cpu);
> +
> + id = x86_match_cpu(intel_pstate_hwp_boost_ids);
> + if (id)
> + hwp_boost = true;
> }
>
> intel_pstate_get_cpu_pstates(cpu);
> --
> 2.13.6
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]
next prev parent reply other threads:[~2018-07-28 5:34 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-05 21:42 [PATCH 0/4] Intel_pstate: HWP Dynamic performance boost Srinivas Pandruvada
2018-06-05 21:42 ` [PATCH 1/4] cpufreq: intel_pstate: Add HWP boost utility and sched util hooks Srinivas Pandruvada
2018-06-05 21:42 ` [PATCH 2/4] cpufreq: intel_pstate: HWP boost performance on IO wakeup Srinivas Pandruvada
2018-06-05 21:42 ` [PATCH 3/4] cpufreq: intel_pstate: New sysfs entry to control HWP boost Srinivas Pandruvada
2018-06-05 21:42 ` [PATCH 4/4] cpufreq: intel_pstate: enable boost for Skylake Xeon Srinivas Pandruvada
2018-07-28 5:34 ` Francisco Jerez [this message]
2018-07-28 5:34 ` Francisco Jerez
2018-07-28 12:36 ` Mel Gorman
2018-07-28 20:21 ` Francisco Jerez
2018-07-30 15:43 ` Mel Gorman
2018-07-30 15:57 ` Srinivas Pandruvada
2018-07-30 18:32 ` Francisco Jerez
2018-07-31 7:10 ` Giovanni Gherdovich
2018-08-01 6:52 ` Francisco Jerez
2018-07-30 11:16 ` Eero Tamminen
2018-07-30 14:06 ` Srinivas Pandruvada
2018-07-31 15:04 ` Peter Zijlstra
2018-07-31 19:07 ` Srinivas Pandruvada
2018-07-28 14:14 ` Srinivas Pandruvada
2018-07-28 20:23 ` Francisco Jerez
[not found] ` <9828ba535fcdce8458593013fd1c67385a8fefb9.camel@intel.com>
2018-07-28 20:23 ` Francisco Jerez
2018-07-28 20:23 ` Francisco Jerez
2018-07-28 22:06 ` Pandruvada, Srinivas
2018-07-30 8:33 ` Eero Tamminen
2018-07-30 13:38 ` Srinivas Pandruvada
2018-06-12 15:04 ` [PATCH 0/4] Intel_pstate: HWP Dynamic performance boost Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87bmarhqk4.fsf@riseup.net \
--to=currojerez@riseup.net \
--cc=chris@chris-wilson.co.uk \
--cc=eero.t.tamminen@intel.com \
--cc=ggherdovich@suse.cz \
--cc=joonas.lahtinen@linux.intel.com \
--cc=juri.lelli@redhat.com \
--cc=lenb@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mgorman@techsingularity.net \
--cc=peterz@infradead.org \
--cc=rjw@rjwysocki.net \
--cc=srinivas.pandruvada@linux.intel.com \
--cc=tvrtko.ursulin@linux.intel.com \
--cc=viresh.kumar@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.