From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915: Make RPS EI/thresholds multiple of 25 on SNB Date: Fri, 22 Apr 2016 20:35:07 +0300 Message-ID: <20160422173507.GW4329@intel.com> References: <1461159836-9108-1-git-send-email-ville.syrjala@linux.intel.com> <20160421122035.GA3581@patrik-desktop.isw.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 72D2D6EF40 for ; Fri, 22 Apr 2016 17:35:11 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20160421122035.GA3581@patrik-desktop.isw.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org, Akash Goel , stable@vger.kernel.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBBcHIgMjEsIDIwMTYgYXQgMDI6MjA6MzVQTSArMDIwMCwgUGF0cmlrIEpha29ic3Nv biB3cm90ZToKPiBPbiBXZWQsIEFwciAyMCwgMjAxNiBhdCAwNDo0Mzo1NlBNICswMzAwLCB2aWxs ZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbSB3cm90ZToKPiA+IEZyb206IFZpbGxlIFN5cmrDpGzD pCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiAKPiA+IFNvbWVob3cgbXkgU05C IEdUMSAoRGVsbCBYUFMgODMwMCkgZ2V0cyB2ZXJ5IHVuaGFwcHkgYXJvdW5kCj4gPiBHUFUgaGFu Z3MgaWYgdGhlIFJQUyBFSS90aHJlc2hvbGRzIGFyZW4ndCBzdWl0YWJseSBhbGlnbmVkLgo+ID4g SXQgc2VlbXMgbGlrZSBzY2hlZHVsaW5nL3RpbWVyIGludGVydXB0cyBzdG9wIHdvcmtpbmcgc29t ZWhvdwo+ID4gYW5kIHRoaW5ncyBnZXQgc3R1Y2sgZWcuIGluIHVzbGVlcF9yYW5nZSgpLgo+ID4g Cj4gPiBJIGJpc2VjdGVkIHRoZSBwcm9ibGVtIGRvd24gdG8KPiA+IGNvbW1pdCA4YTU4NjQzNzdi MTIgKCJkcm0vaTkxNS9za2w6IFJlc3RydWN0dXJlZCB0aGUgZ2VuNl9zZXRfcnBzX3RocmVzaG9s ZHMgZnVuY3Rpb24iKQo+ID4gSSBvYnNlcnZlZCB0aGF0IGJlZm9yZSBhbGwgdGhlIHZhbHVlcyB3 ZXJlIGF0IGxlYXN0IG11bHRpcGxlcyBvZiAyNSwKPiA+IGJ1dCBhZnRlcndhcmRzIHRoZXkgYXJl IG5vdC4gQW5kIHJvdW5kaW5nIHRoaW5ncyB1cCB0byB0aGUgbmV4dCBtdWx0aXBsZQo+ID4gb2Yg MjUgZG9lcyBzZWVtIHRvIGhlbHAsIHNvIGxldHMnIGRvIHRoYXQuIEkgYWxzbyB0cmllZCByb3Vu ZHVwKC4uLiwgNSkKPiA+IGJ1dCB0aGF0IHdhc24ndCBzdWZmaWNpZW50LiBBbHNvIEkgaGF2ZSBu byBpZGVhIGlmIHdlIG1pZ2h0IG5lZWQgdGhpcyBzb3J0IG9mCj4gPiB0aGluZyBvbiBnZW45KyBh cyB3ZWxsLgo+IAo+IERvIHdlIG5lZWQgdG8gdGVzdCBmb3IgcGVyZm9ybWFuY2UgcmVncmVzc2lv bnMgb24gc3R1ZmYgbGlrZSB0aGlzPyBBbmQgaWYgc28sCj4gd2hvIGRvIHdlIHBpbmcgYWJvdXQg dGhpcz8KPiAKPiBPVE9IIGltcGFjdCBzaG91bGQgYmUgcmVhbGx5IHNtYWxsIGFuZCBzaW5jZSB0 aGlzIGZpeGVzIGEgcmVhbCBwcm9ibGVtOgo+IAo+IFJldmlld2VkLWJ5OiBQYXRyaWsgSmFrb2Jz c29uIDxwYXRyaWsuamFrb2Jzc29uQGxpbnV4LmludGVsLmNvbT4KClB1c2hlZCB0byBkaW5xLiBU aGFua3MgZm9yIHJldmlld3MvYWNrcy4KCj4gCj4gPiAKPiA+IFRoZXNlIGFyZSB0aGUgb3JpZ2lu YWwgRUkvdGhyZXNob2xkczoKPiA+ICBMT1dfUE9XRVIKPiA+ICAgR0VONl9SUF9VUF9FSSAgICAg ICAgICAxMjUwMAo+ID4gICBHRU42X1JQX1VQX1RIUkVTSE9MRCAgIDExODAwCj4gPiAgIEdFTjZf UlBfRE9XTl9FSSAgICAgICAgMjUwMDAKPiA+ICAgR0VONl9SUF9ET1dOX1RIUkVTSE9MRCAyMTI1 MAo+ID4gIEJFVFdFRU4KPiA+ICAgR0VONl9SUF9VUF9FSSAgICAgICAgICAxMDI1MAo+ID4gICBH RU42X1JQX1VQX1RIUkVTSE9MRCAgICA5MjI1Cj4gPiAgIEdFTjZfUlBfRE9XTl9FSSAgICAgICAg MjUwMDAKPiA+ICAgR0VONl9SUF9ET1dOX1RIUkVTSE9MRCAxODc1MAo+ID4gIEhJR0hfUE9XRVIK PiA+ICAgR0VONl9SUF9VUF9FSSAgICAgICAgICAgODAwMAo+ID4gICBHRU42X1JQX1VQX1RIUkVT SE9MRCAgICA2ODAwCj4gPiAgIEdFTjZfUlBfRE9XTl9FSSAgICAgICAgMjUwMDAKPiA+ICAgR0VO Nl9SUF9ET1dOX1RIUkVTSE9MRCAxNTAwMAo+ID4gCj4gPiBUaGVzZSBhcmUgYWZ0ZXIgOGE1ODY0 Mzc3YjEyOgo+ID4gIExPV19QT1dFUgo+ID4gICBHRU42X1JQX1VQX0VJICAgICAgICAgIDEyNTAw Cj4gPiAgIEdFTjZfUlBfVVBfVEhSRVNIT0xEICAgMTE4NzUKPiA+ICAgR0VONl9SUF9ET1dOX0VJ ICAgICAgICAyNTAwMAo+ID4gICBHRU42X1JQX0RPV05fVEhSRVNIT0xEIDIxMjUwCj4gPiAgQkVU V0VFTgo+ID4gICBHRU42X1JQX1VQX0VJICAgICAgICAgIDEwMTU2Cj4gPiAgIEdFTjZfUlBfVVBf VEhSRVNIT0xEICAgIDkxNDAKPiA+ICAgR0VONl9SUF9ET1dOX0VJICAgICAgICAyNTAwMAo+ID4g ICBHRU42X1JQX0RPV05fVEhSRVNIT0xEIDE4NzUwCj4gPiAgSElHSF9QT1dFUgo+ID4gICBHRU42 X1JQX1VQX0VJICAgICAgICAgICA3ODEyCj4gPiAgIEdFTjZfUlBfVVBfVEhSRVNIT0xEICAgIDY2 NDAKPiA+ICAgR0VONl9SUF9ET1dOX0VJICAgICAgICAyNTAwMAo+ID4gICBHRU42X1JQX0RPV05f VEhSRVNIT0xEIDE1MDAwCj4gPiAKPiA+IEFuZCB0aGVzZSBhcmUgd2hhdCB3ZSBoYXZlIGFmdGVy IHRoaXMgcGF0Y2g6Cj4gPiAgTE9XX1BPV0VSCj4gPiAgIEdFTjZfUlBfVVBfRUkgICAgICAgICAg MTI1MDAKPiA+ICAgR0VONl9SUF9VUF9USFJFU0hPTEQgICAxMTg3NQo+ID4gICBHRU42X1JQX0RP V05fRUkgICAgICAgIDI1MDAwCj4gPiAgIEdFTjZfUlBfRE9XTl9USFJFU0hPTEQgMjEyNTAKPiA+ ICBCRVRXRUVOCj4gPiAgIEdFTjZfUlBfVVBfRUkgICAgICAgICAgMTAxNzUKPiA+ICAgR0VONl9S UF9VUF9USFJFU0hPTEQgICAgOTE1MAo+ID4gICBHRU42X1JQX0RPV05fRUkgICAgICAgIDI1MDAw Cj4gPiAgIEdFTjZfUlBfRE9XTl9USFJFU0hPTEQgMTg3NTAKPiA+ICBISUdIX1BPV0VSCj4gPiAg IEdFTjZfUlBfVVBfRUkgICAgICAgICAgIDc4MjUKPiA+ICAgR0VONl9SUF9VUF9USFJFU0hPTEQg ICAgNjY1MAo+ID4gICBHRU42X1JQX0RPV05fRUkgICAgICAgIDI1MDAwCj4gPiAgIEdFTjZfUlBf RE9XTl9USFJFU0hPTEQgMTUwMDAKPiA+IAo+ID4gQ2M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmcK PiA+IENjOiBBa2FzaCBHb2VsIDxha2FzaC5nb2VsQGludGVsLmNvbT4KPiA+IENjOiBDaHJpcyBX aWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiA+IFRlc3RjYXNlOiBpZ3Qva21zX3Bp cGVfY3JjX2Jhc2ljL2hhbmctcmVhZC1jcmMtcGlwZS1CCj4gPiBGaXhlczogOGE1ODY0Mzc3YjEy ICgiZHJtL2k5MTUvc2tsOiBSZXN0cnVjdHVyZWQgdGhlIGdlbjZfc2V0X3Jwc190aHJlc2hvbGRz IGZ1bmN0aW9uIikKPiA+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3ly amFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oIHwgOSArKysrKysrKy0KPiA+ICAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4gaW5k ZXggYzIxYjcxYzg2YTZiLi4wOGYwMWY0NDcwY2QgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oCj4gPiBAQCAtMjk0OCw3ICsyOTQ4LDE0IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2Vs bHMgewo+ID4gICNkZWZpbmUgR0VONl9SUF9TVEFURV9DQVAJX01NSU8oTUNIQkFSX01JUlJPUl9C QVNFX1NOQiArIDB4NTk5OCkKPiA+ICAjZGVmaW5lIEJYVF9SUF9TVEFURV9DQVAgICAgICAgIF9N TUlPKDB4MTM4MTcwKQo+ID4gIAo+ID4gLSNkZWZpbmUgSU5URVJWQUxfMV8yOF9VUyh1cykJKCgo dXMpICogMTAwKSA+PiA3KQo+ID4gKy8qCj4gPiArICogTWFrZSB0aGVzZSBhIG11bHRpcGxlIG9m IG1hZ2ljIDI1IHRvIGF2b2lkIFNOQiAoZWcuIERlbGwgWFBTCj4gPiArICogODMwMCkgZnJlZXpp bmcgdXAgYXJvdW5kIEdQVSBoYW5ncy4gTG9va3MgYXMgaWYgZXZlbgo+ID4gKyAqIHNjaGVkdWxp bmcvdGltZXIgaW50ZXJydXB0cyBzdGFydCBtaXNiZWhhdmluZyBpZiB0aGUgUlBTCj4gPiArICog RUkvdGhyZXNob2xkcyBhcmUgImJhZCIsIGxlYWRpbmcgdG8gYSB2ZXJ5IHNsdWdnaXNoIG9yIGV2 ZW4KPiA+ICsgKiBmcm96ZW4gbWFjaGluZS4KPiA+ICsgKi8KPiA+ICsjZGVmaW5lIElOVEVSVkFM XzFfMjhfVVModXMpCXJvdW5kdXAoKCh1cykgKiAxMDApID4+IDcsIDI1KQo+ID4gICNkZWZpbmUg SU5URVJWQUxfMV8zM19VUyh1cykJKCgodXMpICogMykgICA+PiAyKQo+ID4gICNkZWZpbmUgSU5U RVJWQUxfMF84MzNfVVModXMpCSgoKHVzKSAqIDYpIC8gNSkKPiA+ICAjZGVmaW5lIEdUX0lOVEVS VkFMX0ZST01fVVMoZGV2X3ByaXYsIHVzKSAoSVNfR0VOOShkZXZfcHJpdikgPyBcCj4gPiAtLSAK PiA+IDIuNy40Cj4gPiAKPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiBJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo+IAo+IC0tIAo+IEludGVsIFN3ZWRlbiBBQiBSZWdpc3RlcmVk IE9mZmljZTogS25hcnJhcm5hc2dhdGFuIDE1LCAxNjQgNDAgS2lzdGEsIFN0b2NraG9sbSwgU3dl ZGVuIFJlZ2lzdHJhdGlvbiBOdW1iZXI6IDU1NjE4OS02MDI3IAoKLS0gClZpbGxlIFN5cmrDpGzD pApJbnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com ([192.55.52.120]:40789 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932091AbcDVRfi (ORCPT ); Fri, 22 Apr 2016 13:35:38 -0400 Date: Fri, 22 Apr 2016 20:35:07 +0300 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: intel-gfx@lists.freedesktop.org, Akash Goel , stable@vger.kernel.org Subject: Re: [Intel-gfx] [PATCH] drm/i915: Make RPS EI/thresholds multiple of 25 on SNB Message-ID: <20160422173507.GW4329@intel.com> References: <1461159836-9108-1-git-send-email-ville.syrjala@linux.intel.com> <20160421122035.GA3581@patrik-desktop.isw.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20160421122035.GA3581@patrik-desktop.isw.intel.com> Sender: stable-owner@vger.kernel.org List-ID: On Thu, Apr 21, 2016 at 02:20:35PM +0200, Patrik Jakobsson wrote: > On Wed, Apr 20, 2016 at 04:43:56PM +0300, ville.syrjala@linux.intel.com wrote: > > From: Ville Syrj�l� > > > > Somehow my SNB GT1 (Dell XPS 8300) gets very unhappy around > > GPU hangs if the RPS EI/thresholds aren't suitably aligned. > > It seems like scheduling/timer interupts stop working somehow > > and things get stuck eg. in usleep_range(). > > > > I bisected the problem down to > > commit 8a5864377b12 ("drm/i915/skl: Restructured the gen6_set_rps_thresholds function") > > I observed that before all the values were at least multiples of 25, > > but afterwards they are not. And rounding things up to the next multiple > > of 25 does seem to help, so lets' do that. I also tried roundup(..., 5) > > but that wasn't sufficient. Also I have no idea if we might need this sort of > > thing on gen9+ as well. > > Do we need to test for performance regressions on stuff like this? And if so, > who do we ping about this? > > OTOH impact should be really small and since this fixes a real problem: > > Reviewed-by: Patrik Jakobsson Pushed to dinq. Thanks for reviews/acks. > > > > > These are the original EI/thresholds: > > LOW_POWER > > GEN6_RP_UP_EI 12500 > > GEN6_RP_UP_THRESHOLD 11800 > > GEN6_RP_DOWN_EI 25000 > > GEN6_RP_DOWN_THRESHOLD 21250 > > BETWEEN > > GEN6_RP_UP_EI 10250 > > GEN6_RP_UP_THRESHOLD 9225 > > GEN6_RP_DOWN_EI 25000 > > GEN6_RP_DOWN_THRESHOLD 18750 > > HIGH_POWER > > GEN6_RP_UP_EI 8000 > > GEN6_RP_UP_THRESHOLD 6800 > > GEN6_RP_DOWN_EI 25000 > > GEN6_RP_DOWN_THRESHOLD 15000 > > > > These are after 8a5864377b12: > > LOW_POWER > > GEN6_RP_UP_EI 12500 > > GEN6_RP_UP_THRESHOLD 11875 > > GEN6_RP_DOWN_EI 25000 > > GEN6_RP_DOWN_THRESHOLD 21250 > > BETWEEN > > GEN6_RP_UP_EI 10156 > > GEN6_RP_UP_THRESHOLD 9140 > > GEN6_RP_DOWN_EI 25000 > > GEN6_RP_DOWN_THRESHOLD 18750 > > HIGH_POWER > > GEN6_RP_UP_EI 7812 > > GEN6_RP_UP_THRESHOLD 6640 > > GEN6_RP_DOWN_EI 25000 > > GEN6_RP_DOWN_THRESHOLD 15000 > > > > And these are what we have after this patch: > > LOW_POWER > > GEN6_RP_UP_EI 12500 > > GEN6_RP_UP_THRESHOLD 11875 > > GEN6_RP_DOWN_EI 25000 > > GEN6_RP_DOWN_THRESHOLD 21250 > > BETWEEN > > GEN6_RP_UP_EI 10175 > > GEN6_RP_UP_THRESHOLD 9150 > > GEN6_RP_DOWN_EI 25000 > > GEN6_RP_DOWN_THRESHOLD 18750 > > HIGH_POWER > > GEN6_RP_UP_EI 7825 > > GEN6_RP_UP_THRESHOLD 6650 > > GEN6_RP_DOWN_EI 25000 > > GEN6_RP_DOWN_THRESHOLD 15000 > > > > Cc: stable@vger.kernel.org > > Cc: Akash Goel > > Cc: Chris Wilson > > Testcase: igt/kms_pipe_crc_basic/hang-read-crc-pipe-B > > Fixes: 8a5864377b12 ("drm/i915/skl: Restructured the gen6_set_rps_thresholds function") > > Signed-off-by: Ville Syrj�l� > > --- > > drivers/gpu/drm/i915/i915_reg.h | 9 ++++++++- > > 1 file changed, 8 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h > > index c21b71c86a6b..08f01f4470cd 100644 > > --- a/drivers/gpu/drm/i915/i915_reg.h > > +++ b/drivers/gpu/drm/i915/i915_reg.h > > @@ -2948,7 +2948,14 @@ enum skl_disp_power_wells { > > #define GEN6_RP_STATE_CAP _MMIO(MCHBAR_MIRROR_BASE_SNB + 0x5998) > > #define BXT_RP_STATE_CAP _MMIO(0x138170) > > > > -#define INTERVAL_1_28_US(us) (((us) * 100) >> 7) > > +/* > > + * Make these a multiple of magic 25 to avoid SNB (eg. Dell XPS > > + * 8300) freezing up around GPU hangs. Looks as if even > > + * scheduling/timer interrupts start misbehaving if the RPS > > + * EI/thresholds are "bad", leading to a very sluggish or even > > + * frozen machine. > > + */ > > +#define INTERVAL_1_28_US(us) roundup(((us) * 100) >> 7, 25) > > #define INTERVAL_1_33_US(us) (((us) * 3) >> 2) > > #define INTERVAL_0_833_US(us) (((us) * 6) / 5) > > #define GT_INTERVAL_FROM_US(dev_priv, us) (IS_GEN9(dev_priv) ? \ > > -- > > 2.7.4 > > > > _______________________________________________ > > Intel-gfx mailing list > > Intel-gfx@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/intel-gfx > > -- > Intel Sweden AB Registered Office: Knarrarnasgatan 15, 164 40 Kista, Stockholm, Sweden Registration Number: 556189-6027 -- Ville Syrj�l� Intel OTC