All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Rogozhkin, Dmitry V" <dmitry.v.rogozhkin@intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>,
	"Li, Yaodong" <yaodong.li@intel.com>,
	"intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>
Cc: "Widawsky, Benjamin" <benjamin.widawsky@intel.com>
Subject: Re: [RFC] drm/i915: Add a new modparam for customized ring multiplier
Date: Tue, 26 Dec 2017 17:39:08 +0000	[thread overview]
Message-ID: <3EDB40B547243546A1017B798F8C1AA89A6DEA79@ORSMSX114.amr.corp.intel.com> (raw)
In-Reply-To: <151430752384.11340.737492016741940961@mail.alporthouse.com>

>> To clarify, the HW will flip between the two GT/IA requests rather than stick to the highest?

Yes, it will flip on Gen9. On Gen8 there was some mechanism (HW) which flattened that. But it was removed/substituted in Gen9. In Gen10 it was tuned  to close the mentioned issue.

>> Do you know anything about the opposite position. I heard a suggestion that simply increasing the ringfreq universally caused thermal throttling in some other workloads. Do you have any knowledge of those?

Initially we tried to just increase GT multiplier to x3 and stepped into the throttling. Thus, we introduced parameter to be able to mitigate all that depending on the SKU and user needs. I definitely asked what will be if GT request will be bigger than IA request. But that was a year ago and I don't remember the answer. Let me ask again. I will mail back in few days.

>> You are thinking of plugging into intel_pstate to make it smarter for ia freq transitions?

Yep. This seems a correct step to give some automatic support instead of parameter/hardcoded multiplier.

Dmitry.

-----Original Message-----
From: Chris Wilson [mailto:chris@chris-wilson.co.uk] 
Sent: Tuesday, December 26, 2017 8:59 AM
To: Rogozhkin, Dmitry V <dmitry.v.rogozhkin@intel.com>; Li, Yaodong <yaodong.li@intel.com>; intel-gfx@lists.freedesktop.org
Cc: Gong, Zhipeng <zhipeng.gong@intel.com>; Widawsky, Benjamin <benjamin.widawsky@intel.com>; Mateo Lozano, Oscar <oscar.mateo@intel.com>; Kamble, Sagar A <sagar.a.kamble@intel.com>; Li, Yaodong <yaodong.li@intel.com>
Subject: RE: [RFC] drm/i915: Add a new modparam for customized ring multiplier

Quoting Rogozhkin, Dmitry V (2017-12-26 16:39:23)
> Clarification on the issue. Consider that you have a massive load on GT and just tiny one on IA. If GT will program the RING frequency to be lower than IA frequency, then you will fall into the situation when RING frequency constantly transits from GT to IA level and back. Each transition of a RING frequency is a full system stall. If you will have "good" transition rate with few transitions per few milliseconds you will lose ~10% of performance. That's the case for media workloads when you easily can step into this since 1) media utilizes few GPU engines and with few parallel workloads you can make sure that at least 1 engine is _always_ doing something, 2) media BB are relatively small, so you have regular wakeups of the IA to manage requests. This will affect Gen9 platforms due to HW design change (we've spot this in SKL). This will not happen in Gen8 (old HW design). This will be fixed in Gen10+ (CNL+).

To clarify, the HW will flip between the two GT/IA requests rather than stick to the highest? Iirc, the expectation was that we were setting a requested minimum frequency for the ring/ia based off the gpu freq.

> On SKL we ran into this with the GPU frequency pinned to 700MHz, CPU to 2GHz. Multipliers were x2 for GT, x1 for IA.

Basically, with the GPU clocked to mid frequency, memory throughput is insufficient to keep the fixed functions occupied, and you need to increase the ring frequency. Is there ever a case where we don't need max ring frequency? (Perhaps we still need to set low frequency for GT
idle?) I guess media is more susceptible to this as that workload should be sustainable at reduced clocks, GL et al are much more likely to keep the clocks ramped all the way up.

Do you know anything about the opposite position. I heard a suggestion that simply increasing the ringfreq universally caused thermal throttling in some other workloads. Do you have any knowledge of those?
 
> So, effectively, what we need to do is to make sure that RING frequency request from GT is _not_ below the request from IA. If IA requests 2GHz, we can't request 1.4GHz, we need request at least 2GHz. Multiplier patch was intended to do exactly that, but manually. Can  we somehow automate that managing IA frequency requests to the RING?

You are thinking of plugging into intel_pstate to make it smarter for ia freq transitions? That seems possible, certainly. I'm not sure if the ring frequency is actually poked from anywhere else in the kernel, would be interesting to find out.
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2017-12-26 17:39 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-18 21:22 [RFC] drm/i915: Add a new modparam for customized ring multiplier Jackie Li
2017-12-18 21:45 ` ✓ Fi.CI.BAT: success for " Patchwork
2017-12-18 21:47 ` [RFC] " Chris Wilson
2017-12-19  1:10   ` Yaodong Li
2017-12-26 14:35   ` Chris Wilson
2017-12-26 16:39     ` Rogozhkin, Dmitry V
2017-12-26 16:58       ` Chris Wilson
2017-12-26 17:39         ` Rogozhkin, Dmitry V [this message]
2017-12-27 17:43           ` Rogozhkin, Dmitry V
2018-01-03 18:21           ` Yaodong Li
2018-01-04  6:10             ` Sagar Arun Kamble
2018-01-04 21:52               ` Yaodong Li
2018-01-05 10:15                 ` Sagar Arun Kamble
2018-01-06  0:23                   ` Yaodong Li
2018-01-08  9:11                     ` Sagar Arun Kamble
2018-01-30 18:44                     ` [RFC] drm/i915: cpufreq based dynamic ring freqency table on Gen9 Jackie Li
2017-12-18 22:36 ` ✗ Fi.CI.IGT: failure for drm/i915: Add a new modparam for customized ring multiplier Patchwork
2018-01-30 20:23 ` ✗ Fi.CI.BAT: failure for drm/i915: Add a new modparam for customized ring multiplier (rev2) Patchwork

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=3EDB40B547243546A1017B798F8C1AA89A6DEA79@ORSMSX114.amr.corp.intel.com \
    --to=dmitry.v.rogozhkin@intel.com \
    --cc=benjamin.widawsky@intel.com \
    --cc=chris@chris-wilson.co.uk \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=yaodong.li@intel.com \
    /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.