From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754953AbcATUch (ORCPT ); Wed, 20 Jan 2016 15:32:37 -0500 Received: from mail-wm0-f49.google.com ([74.125.82.49]:34059 "EHLO mail-wm0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751112AbcATUce (ORCPT ); Wed, 20 Jan 2016 15:32:34 -0500 Subject: Re: linux-4.4 bisected: kwin5 stuck on kde5 loading screen with radeon To: Vlastimil Babka , =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= References: <5698CB20.9050602@suse.cz> <20160115122629.GC23290@intel.com> <5699C5E5.90702@gmail.com> <569CC357.8030302@suse.cz> Cc: Alex Deucher , =?UTF-8?Q?Christian_K=c3=b6nig?= , Daniel Vetter , mgraesslin@kde.org, David Airlie , dri-devel@lists.freedesktop.org, LKML , kwin@kde.org From: Mario Kleiner Message-ID: <569FEEDE.4060409@gmail.com> Date: Wed, 20 Jan 2016 21:32:30 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <569CC357.8030302@suse.cz> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/18/2016 11:49 AM, Vlastimil Babka wrote: > On 01/16/2016 05:24 AM, Mario Kleiner wrote: >> >> >> On 01/15/2016 01:26 PM, Ville Syrjälä wrote: >>> On Fri, Jan 15, 2016 at 11:34:08AM +0100, Vlastimil Babka wrote: >> >> I'm currently running... >> >> while xinit /usr/bin/ksplashqml --test -- :1 ; do echo yay; done >> >> ... in an endless loop on Linux 4.4 SMP PREEMPT on HD-5770 and so far i >> can't trigger a hang after hundreds of runs. >> >> Does this also hang for you? > > No, test mode seems to be fine. > >> I think a drm.debug=0x21 setting and grep'ping the syslog for "vblank" >> should probably give useful info around the time of the hang. > > Attached. Captured by having kdm running, switching to console, running > "dmesg -C ; dmesg -w > /tmp/dmesg", switch to kdm, enter password, see > frozen splashscreen, switch back, terminate dmesg. So somewhere around > the middle there should be where ksplashscreen starts... > >> Maybe also check XOrg.0.log for (WW) warnings related to flip. > > No such warnings there. > >> thanks, >> -mario >> >> >>>> Thanks, >>>> Vlastimil >>> > Thanks. So the problem is that AMDs hardware frame counters reset to zero during a modeset. The old DRM code dealt with drivers doing that by keeping vblank irqs enabled during modesets and incrementing vblank count by one during each vblank irq, i think that's what drm_vblank_pre_modeset() and drm_vblank_post_modeset() were meant for. The new code in drm_update_vblank_count() breaks this. The reset of the counter to zero is treated as counter wraparound, so our software vblank counter jumps forward by up to 2^24 counts in response (in case of AMD's 24 bit hw counters), and then the vblank event handling code in drm_handle_vblank_events() and other places detects the counter being more than 2^23 counts ahead of queued vblank events and as part of its own wraparound handling for the 32-Bit software counter doesn't deliver these queued events for a long time -> no vblank swap trigger event -> no swap -> client hangs waiting for swap completion. I think i remember seeing the ksplash progress screen occasionally blanking half way through login, i guess that's when kwin triggers a modeset in parallel to ksplash doing its OpenGL animations. So depending on the hw vblank count at the time of login ksplash would or wouldn't hang, apparently i got "lucky" with my counts at login. -mario From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Kleiner Subject: Re: linux-4.4 bisected: kwin5 stuck on kde5 loading screen with radeon Date: Wed, 20 Jan 2016 21:32:30 +0100 Message-ID: <569FEEDE.4060409@gmail.com> References: <5698CB20.9050602@suse.cz> <20160115122629.GC23290@intel.com> <5699C5E5.90702@gmail.com> <569CC357.8030302@suse.cz> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-f48.google.com (mail-wm0-f48.google.com [74.125.82.48]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1D04388124 for ; Wed, 20 Jan 2016 12:32:35 -0800 (PST) Received: by mail-wm0-f48.google.com with SMTP id n5so48612442wmn.0 for ; Wed, 20 Jan 2016 12:32:35 -0800 (PST) In-Reply-To: <569CC357.8030302@suse.cz> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Vlastimil Babka , =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: Daniel Vetter , LKML , dri-devel@lists.freedesktop.org, mgraesslin@kde.org, kwin@kde.org, Alex Deucher , =?UTF-8?Q?Christian_K=c3=b6nig?= List-Id: dri-devel@lists.freedesktop.org T24gMDEvMTgvMjAxNiAxMTo0OSBBTSwgVmxhc3RpbWlsIEJhYmthIHdyb3RlOgo+IE9uIDAxLzE2 LzIwMTYgMDU6MjQgQU0sIE1hcmlvIEtsZWluZXIgd3JvdGU6Cj4+Cj4+Cj4+IE9uIDAxLzE1LzIw MTYgMDE6MjYgUE0sIFZpbGxlIFN5cmrDpGzDpCB3cm90ZToKPj4+IE9uIEZyaSwgSmFuIDE1LCAy MDE2IGF0IDExOjM0OjA4QU0gKzAxMDAsIFZsYXN0aW1pbCBCYWJrYSB3cm90ZToKPj4KPj4gSSdt IGN1cnJlbnRseSBydW5uaW5nLi4uCj4+Cj4+IHdoaWxlIHhpbml0IC91c3IvYmluL2tzcGxhc2hx bWwgLS10ZXN0IC0tIDoxIDsgZG8gZWNobyB5YXk7IGRvbmUKPj4KPj4gLi4uIGluIGFuIGVuZGxl c3MgbG9vcCBvbiBMaW51eCA0LjQgU01QIFBSRUVNUFQgb24gSEQtNTc3MCAgYW5kIHNvIGZhciBp Cj4+IGNhbid0IHRyaWdnZXIgYSBoYW5nIGFmdGVyIGh1bmRyZWRzIG9mIHJ1bnMuCj4+Cj4+IERv ZXMgdGhpcyBhbHNvIGhhbmcgZm9yIHlvdT8KPgo+IE5vLCB0ZXN0IG1vZGUgc2VlbXMgdG8gYmUg ZmluZS4KPgo+PiBJIHRoaW5rIGEgZHJtLmRlYnVnPTB4MjEgc2V0dGluZyBhbmQgZ3JlcCdwaW5n IHRoZSBzeXNsb2cgZm9yICJ2YmxhbmsiCj4+IHNob3VsZCBwcm9iYWJseSBnaXZlIHVzZWZ1bCBp bmZvIGFyb3VuZCB0aGUgdGltZSBvZiB0aGUgaGFuZy4KPgo+IEF0dGFjaGVkLiBDYXB0dXJlZCBi eSBoYXZpbmcga2RtIHJ1bm5pbmcsIHN3aXRjaGluZyB0byBjb25zb2xlLCBydW5uaW5nCj4gImRt ZXNnIC1DIDsgZG1lc2cgLXcgPiAvdG1wL2RtZXNnIiwgc3dpdGNoIHRvIGtkbSwgZW50ZXIgcGFz c3dvcmQsIHNlZQo+IGZyb3plbiBzcGxhc2hzY3JlZW4sIHN3aXRjaCBiYWNrLCB0ZXJtaW5hdGUg ZG1lc2cuIFNvIHNvbWV3aGVyZSBhcm91bmQKPiB0aGUgbWlkZGxlIHRoZXJlIHNob3VsZCBiZSB3 aGVyZSBrc3BsYXNoc2NyZWVuIHN0YXJ0cy4uLgo+Cj4+IE1heWJlIGFsc28gY2hlY2sgWE9yZy4w LmxvZyBmb3IgKFdXKSB3YXJuaW5ncyByZWxhdGVkIHRvIGZsaXAuCj4KPiBObyBzdWNoIHdhcm5p bmdzIHRoZXJlLgo+Cj4+IHRoYW5rcywKPj4gLW1hcmlvCj4+Cj4+Cj4+Pj4gVGhhbmtzLAo+Pj4+ IFZsYXN0aW1pbAo+Pj4KPgoKVGhhbmtzLiBTbyB0aGUgcHJvYmxlbSBpcyB0aGF0IEFNRHMgaGFy ZHdhcmUgZnJhbWUgY291bnRlcnMgcmVzZXQgdG8gCnplcm8gZHVyaW5nIGEgbW9kZXNldC4gVGhl IG9sZCBEUk0gY29kZSBkZWFsdCB3aXRoIGRyaXZlcnMgZG9pbmcgdGhhdCBieSAKa2VlcGluZyB2 YmxhbmsgaXJxcyBlbmFibGVkIGR1cmluZyBtb2Rlc2V0cyBhbmQgaW5jcmVtZW50aW5nIHZibGFu ayAKY291bnQgYnkgb25lIGR1cmluZyBlYWNoIHZibGFuayBpcnEsIGkgdGhpbmsgdGhhdCdzIHdo YXQgCmRybV92YmxhbmtfcHJlX21vZGVzZXQoKSBhbmQgZHJtX3ZibGFua19wb3N0X21vZGVzZXQo KSB3ZXJlIG1lYW50IGZvci4KClRoZSBuZXcgY29kZSBpbiBkcm1fdXBkYXRlX3ZibGFua19jb3Vu dCgpIGJyZWFrcyB0aGlzLiBUaGUgcmVzZXQgb2YgdGhlIApjb3VudGVyIHRvIHplcm8gaXMgdHJl YXRlZCBhcyBjb3VudGVyIHdyYXBhcm91bmQsIHNvIG91ciBzb2Z0d2FyZSB2YmxhbmsgCmNvdW50 ZXIganVtcHMgZm9yd2FyZCBieSB1cCB0byAyXjI0IGNvdW50cyBpbiByZXNwb25zZSAoaW4gY2Fz ZSBvZiBBTUQncyAKMjQgYml0IGh3IGNvdW50ZXJzKSwgYW5kIHRoZW4gdGhlIHZibGFuayBldmVu dCBoYW5kbGluZyBjb2RlIGluIApkcm1faGFuZGxlX3ZibGFua19ldmVudHMoKSBhbmQgb3RoZXIg cGxhY2VzIGRldGVjdHMgdGhlIGNvdW50ZXIgYmVpbmcgCm1vcmUgdGhhbiAyXjIzIGNvdW50cyBh aGVhZCBvZiBxdWV1ZWQgdmJsYW5rIGV2ZW50cyBhbmQgYXMgcGFydCBvZiBpdHMgCm93biB3cmFw YXJvdW5kIGhhbmRsaW5nIGZvciB0aGUgMzItQml0IHNvZnR3YXJlIGNvdW50ZXIgZG9lc24ndCBk ZWxpdmVyIAp0aGVzZSBxdWV1ZWQgZXZlbnRzIGZvciBhIGxvbmcgdGltZSAtPiBubyB2Ymxhbmsg c3dhcCB0cmlnZ2VyIGV2ZW50IC0+IApubyBzd2FwIC0+IGNsaWVudCBoYW5ncyB3YWl0aW5nIGZv ciBzd2FwIGNvbXBsZXRpb24uCgpJIHRoaW5rIGkgcmVtZW1iZXIgc2VlaW5nIHRoZSBrc3BsYXNo IHByb2dyZXNzIHNjcmVlbiBvY2Nhc2lvbmFsbHkgCmJsYW5raW5nIGhhbGYgd2F5IHRocm91Z2gg bG9naW4sIGkgZ3Vlc3MgdGhhdCdzIHdoZW4ga3dpbiB0cmlnZ2VycyBhIAptb2Rlc2V0IGluIHBh cmFsbGVsIHRvIGtzcGxhc2ggZG9pbmcgaXRzIE9wZW5HTCBhbmltYXRpb25zLiBTbyBkZXBlbmRp bmcgCm9uIHRoZSBodyB2YmxhbmsgY291bnQgYXQgdGhlIHRpbWUgb2YgbG9naW4ga3NwbGFzaCB3 b3VsZCBvciB3b3VsZG4ndCAKaGFuZywgYXBwYXJlbnRseSBpIGdvdCAibHVja3kiIHdpdGggbXkg Y291bnRzIGF0IGxvZ2luLgoKLW1hcmlvCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVsCg==