From mboxrd@z Thu Jan 1 00:00:00 1970 From: jani.nikula@intel.com (Jani Nikula) Date: Wed, 24 Jan 2018 13:42:08 +0200 Subject: REGRESSION in c5552fde102f ("nvme: Enable autonomous power state transitions") Message-ID: <87shaveb5b.fsf@intel.com> Hi Andy, all - So this is an odd one. I'm getting display FIFO underruns in a very specific setting: Laptop display switched off, and an external display connected. Other combinations work fine. I've bisected this to c5552fde102f ("nvme: Enable autonomous power state transitions"), and, being baffled by the result, carefully checked this. There are no problems when running c5552fde102f^, with nvme_core.default_ps_max_latency_us=0, or after 'echo 0 > pm_qos_latency_tolerance_us'. With the last one, restoring the original value of 100000 brings the underruns back. I have no idea what the root cause mechanism here is, but the bisect is correct. Perhaps something to do with timing. I'd be happy to provide further details. I see that you have quirked one Samsung device. Incidentally, this Lenovo Yoga 910 (Kabylake, SunrisePoint LP PCH) also has a Samsung NVMe device, just a different one. Details below. I don't know what the failure mode in the quirked one is, so I don't know if this could be the same issue. BR, Jani. $ lspci -vvnn -s 02:00.0 02:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd Device [144d:a804] (prog-if 02 [NVM Express]) Subsystem: Samsung Electronics Co Ltd Device [144d:a801] Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- Capabilities: [168 v1] #19 Capabilities: [188 v1] Latency Tolerance Reporting Max snoop latency: 3145728ns Max no snoop latency: 3145728ns Capabilities: [190 v1] L1 PM Substates L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+ PortCommonModeRestoreTime=10us PortTPowerOnTime=10us L1SubCtl1: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ T_CommonMode=0us LTR1.2_Threshold=163840ns L1SubCtl2: T_PwrOn=44us Kernel driver in use: nvme Kernel modules: nvme -- Jani Nikula, Intel Open Source Technology Center From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: REGRESSION in c5552fde102f ("nvme: Enable autonomous power state transitions") Date: Wed, 24 Jan 2018 13:42:08 +0200 Message-ID: <87shaveb5b.fsf@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 ESMTPS id B5C796E5BD for ; Wed, 24 Jan 2018 11:36:57 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Andy Lutomirski , Keith Busch , Jens Axboe , Christoph Hellwig , Sagi Grimberg , linux-nvme@lists.infradead.org Cc: intel-gfx@lists.freedesktop.org, ville.syrjala@intel.linux.com List-Id: intel-gfx@lists.freedesktop.org CkhpIEFuZHksIGFsbCAtCgpTbyB0aGlzIGlzIGFuIG9kZCBvbmUuCgpJJ20gZ2V0dGluZyBkaXNw bGF5IEZJRk8gdW5kZXJydW5zIGluIGEgdmVyeSBzcGVjaWZpYyBzZXR0aW5nOiBMYXB0b3AKZGlz cGxheSBzd2l0Y2hlZCBvZmYsIGFuZCBhbiBleHRlcm5hbCBkaXNwbGF5IGNvbm5lY3RlZC4gT3Ro ZXIKY29tYmluYXRpb25zIHdvcmsgZmluZS4KCkkndmUgYmlzZWN0ZWQgdGhpcyB0byBjNTU1MmZk ZTEwMmYgKCJudm1lOiBFbmFibGUgYXV0b25vbW91cyBwb3dlciBzdGF0ZQp0cmFuc2l0aW9ucyIp LCBhbmQsIGJlaW5nIGJhZmZsZWQgYnkgdGhlIHJlc3VsdCwgY2FyZWZ1bGx5IGNoZWNrZWQKdGhp cy4gVGhlcmUgYXJlIG5vIHByb2JsZW1zIHdoZW4gcnVubmluZyBjNTU1MmZkZTEwMmZeLCB3aXRo Cm52bWVfY29yZS5kZWZhdWx0X3BzX21heF9sYXRlbmN5X3VzPTAsIG9yIGFmdGVyICdlY2hvIDAg PgpwbV9xb3NfbGF0ZW5jeV90b2xlcmFuY2VfdXMnLiBXaXRoIHRoZSBsYXN0IG9uZSwgcmVzdG9y aW5nIHRoZSBvcmlnaW5hbAp2YWx1ZSBvZiAxMDAwMDAgYnJpbmdzIHRoZSB1bmRlcnJ1bnMgYmFj ay4KCkkgaGF2ZSBubyBpZGVhIHdoYXQgdGhlIHJvb3QgY2F1c2UgbWVjaGFuaXNtIGhlcmUgaXMs IGJ1dCB0aGUgYmlzZWN0IGlzCmNvcnJlY3QuIFBlcmhhcHMgc29tZXRoaW5nIHRvIGRvIHdpdGgg dGltaW5nLiBJJ2QgYmUgaGFwcHkgdG8gcHJvdmlkZQpmdXJ0aGVyIGRldGFpbHMuCgpJIHNlZSB0 aGF0IHlvdSBoYXZlIHF1aXJrZWQgb25lIFNhbXN1bmcgZGV2aWNlLiBJbmNpZGVudGFsbHksIHRo aXMKTGVub3ZvIFlvZ2EgOTEwIChLYWJ5bGFrZSwgU3VucmlzZVBvaW50IExQIFBDSCkgYWxzbyBo YXMgYSBTYW1zdW5nIE5WTWUKZGV2aWNlLCBqdXN0IGEgZGlmZmVyZW50IG9uZS4gRGV0YWlscyBi ZWxvdy4gSSBkb24ndCBrbm93IHdoYXQgdGhlCmZhaWx1cmUgbW9kZSBpbiB0aGUgcXVpcmtlZCBv bmUgaXMsIHNvIEkgZG9uJ3Qga25vdyBpZiB0aGlzIGNvdWxkIGJlIHRoZQpzYW1lIGlzc3VlLgoK QlIsCkphbmkuCgoKJCBsc3BjaSAtdnZubiAtcyAwMjowMC4wCjAyOjAwLjAgTm9uLVZvbGF0aWxl IG1lbW9yeSBjb250cm9sbGVyIFswMTA4XTogU2Ftc3VuZyBFbGVjdHJvbmljcyBDbyBMdGQgRGV2 aWNlIFsxNDRkOmE4MDRdIChwcm9nLWlmIDAyIFtOVk0gRXhwcmVzc10pCglTdWJzeXN0ZW06IFNh bXN1bmcgRWxlY3Ryb25pY3MgQ28gTHRkIERldmljZSBbMTQ0ZDphODAxXQoJQ29udHJvbDogSS9P LSBNZW0rIEJ1c01hc3RlcisgU3BlY0N5Y2xlLSBNZW1XSU5WLSBWR0FTbm9vcC0gUGFyRXJyLSBT dGVwcGluZy0gU0VSUi0gRmFzdEIyQi0gRGlzSU5UeCsKCVN0YXR1czogQ2FwKyA2Nk1Iei0gVURG LSBGYXN0QjJCLSBQYXJFcnItIERFVlNFTD1mYXN0ID5UQWJvcnQtIDxUQWJvcnQtIDxNQWJvcnQt ID5TRVJSLSA8UEVSUi0gSU5UeC0KCUxhdGVuY3k6IDAsIENhY2hlIExpbmUgU2l6ZTogNjQgYnl0 ZXMKCUludGVycnVwdDogcGluIEEgcm91dGVkIHRvIElSUSAxNgoJTlVNQSBub2RlOiAwCglSZWdp b24gMDogTWVtb3J5IGF0IGExMjAwMDAwICg2NC1iaXQsIG5vbi1wcmVmZXRjaGFibGUpIFtzaXpl PTE2S10KCUNhcGFiaWxpdGllczogWzQwXSBQb3dlciBNYW5hZ2VtZW50IHZlcnNpb24gMwoJCUZs YWdzOiBQTUVDbGstIERTSS0gRDEtIEQyLSBBdXhDdXJyZW50PTBtQSBQTUUoRDAtLEQxLSxEMi0s RDNob3QtLEQzY29sZC0pCgkJU3RhdHVzOiBEMCBOb1NvZnRSc3QrIFBNRS1FbmFibGUtIERTZWw9 MCBEU2NhbGU9MCBQTUUtCglDYXBhYmlsaXRpZXM6IFs1MF0gTVNJOiBFbmFibGUtIENvdW50PTEv MzIgTWFza2FibGUtIDY0Yml0KwoJCUFkZHJlc3M6IDAwMDAwMDAwMDAwMDAwMDAgIERhdGE6IDAw MDAKCUNhcGFiaWxpdGllczogWzcwXSBFeHByZXNzICh2MikgRW5kcG9pbnQsIE1TSSAwMAoJCURl dkNhcDoJTWF4UGF5bG9hZCAyNTYgYnl0ZXMsIFBoYW50RnVuYyAwLCBMYXRlbmN5IEwwcyB1bmxp bWl0ZWQsIEwxIHVubGltaXRlZAoJCQlFeHRUYWctIEF0dG5CdG4tIEF0dG5JbmQtIFB3ckluZC0g UkJFKyBGTFJlc2V0KyBTbG90UG93ZXJMaW1pdCAyNS4wMDBXCgkJRGV2Q3RsOglSZXBvcnQgZXJy b3JzOiBDb3JyZWN0YWJsZSsgTm9uLUZhdGFsKyBGYXRhbCsgVW5zdXBwb3J0ZWQrCgkJCVJseGRP cmQrIEV4dFRhZy0gUGhhbnRGdW5jLSBBdXhQd3ItIE5vU25vb3ArIEZMUmVzZXQtCgkJCU1heFBh eWxvYWQgMjU2IGJ5dGVzLCBNYXhSZWFkUmVxIDUxMiBieXRlcwoJCURldlN0YToJQ29yckVyci0g VW5jb3JyRXJyLSBGYXRhbEVyci0gVW5zdXBwUmVxLSBBdXhQd3IrIFRyYW5zUGVuZC0KCQlMbmtD YXA6CVBvcnQgIzAsIFNwZWVkIDhHVC9zLCBXaWR0aCB4NCwgQVNQTSBMMSwgRXhpdCBMYXRlbmN5 IEwwcyB1bmxpbWl0ZWQsIEwxIDw2NHVzCgkJCUNsb2NrUE0rIFN1cnByaXNlLSBMTEFjdFJlcC0g QndOb3QtIEFTUE1PcHRDb21wKwoJCUxua0N0bDoJQVNQTSBMMSBFbmFibGVkOyBSQ0IgNjQgYnl0 ZXMgRGlzYWJsZWQtIENvbW1DbGsrCgkJCUV4dFN5bmNoLSBDbG9ja1BNKyBBdXRXaWREaXMtIEJX SW50LSBBdXRCV0ludC0KCQlMbmtTdGE6CVNwZWVkIDhHVC9zLCBXaWR0aCB4NCwgVHJFcnItIFRy YWluLSBTbG90Q2xrKyBETEFjdGl2ZS0gQldNZ210LSBBQldNZ210LQoJCURldkNhcDI6IENvbXBs ZXRpb24gVGltZW91dDogUmFuZ2UgQUJDRCwgVGltZW91dERpcyssIExUUissIE9CRkYgTm90IFN1 cHBvcnRlZAoJCURldkN0bDI6IENvbXBsZXRpb24gVGltZW91dDogNTB1cyB0byA1MG1zLCBUaW1l b3V0RGlzLSwgTFRSKywgT0JGRiBEaXNhYmxlZAoJCUxua0N0bDI6IFRhcmdldCBMaW5rIFNwZWVk OiA4R1QvcywgRW50ZXJDb21wbGlhbmNlLSBTcGVlZERpcy0KCQkJIFRyYW5zbWl0IE1hcmdpbjog Tm9ybWFsIE9wZXJhdGluZyBSYW5nZSwgRW50ZXJNb2RpZmllZENvbXBsaWFuY2UtIENvbXBsaWFu Y2VTT1MtCgkJCSBDb21wbGlhbmNlIERlLWVtcGhhc2lzOiAtNmRCCgkJTG5rU3RhMjogQ3VycmVu dCBEZS1lbXBoYXNpcyBMZXZlbDogLTZkQiwgRXF1YWxpemF0aW9uQ29tcGxldGUrLCBFcXVhbGl6 YXRpb25QaGFzZTErCgkJCSBFcXVhbGl6YXRpb25QaGFzZTIrLCBFcXVhbGl6YXRpb25QaGFzZTMr LCBMaW5rRXF1YWxpemF0aW9uUmVxdWVzdC0KCUNhcGFiaWxpdGllczogW2IwXSBNU0ktWDogRW5h YmxlKyBDb3VudD0zMyBNYXNrZWQtCgkJVmVjdG9yIHRhYmxlOiBCQVI9MCBvZmZzZXQ9MDAwMDMw MDAKCQlQQkE6IEJBUj0wIG9mZnNldD0wMDAwMjAwMAoJQ2FwYWJpbGl0aWVzOiBbMTAwIHYyXSBB ZHZhbmNlZCBFcnJvciBSZXBvcnRpbmcKCQlVRVN0YToJRExQLSBTREVTLSBUTFAtIEZDUC0gQ21w bHRUTy0gQ21wbHRBYnJ0LSBVbnhDbXBsdC0gUnhPRi0gTWFsZlRMUC0gRUNSQy0gVW5zdXBSZXEt IEFDU1Zpb2wtCgkJVUVNc2s6CURMUC0gU0RFUy0gVExQLSBGQ1AtIENtcGx0VE8tIENtcGx0QWJy dC0gVW54Q21wbHQtIFJ4T0YtIE1hbGZUTFAtIEVDUkMtIFVuc3VwUmVxLSBBQ1NWaW9sLQoJCVVF U3ZydDoJRExQKyBTREVTKyBUTFAtIEZDUCsgQ21wbHRUTy0gQ21wbHRBYnJ0LSBVbnhDbXBsdC0g UnhPRisgTWFsZlRMUCsgRUNSQy0gVW5zdXBSZXEtIEFDU1Zpb2wtCgkJQ0VTdGE6CVJ4RXJyLSBC YWRUTFAtIEJhZERMTFAtIFJvbGxvdmVyLSBUaW1lb3V0LSBOb25GYXRhbEVyci0KCQlDRU1zazoJ UnhFcnItIEJhZFRMUC0gQmFkRExMUC0gUm9sbG92ZXItIFRpbWVvdXQtIE5vbkZhdGFsRXJyKwoJ CUFFUkNhcDoJRmlyc3QgRXJyb3IgUG9pbnRlcjogMDAsIEdlbkNhcCsgQ0dlbkVuLSBDaGtDYXAr IENoa0VuLQoJQ2FwYWJpbGl0aWVzOiBbMTQ4IHYxXSBEZXZpY2UgU2VyaWFsIE51bWJlciAwMC0w MC0wMC0wMC0wMC0wMC0wMC0wMAoJQ2FwYWJpbGl0aWVzOiBbMTU4IHYxXSBQb3dlciBCdWRnZXRp bmcgPD8+CglDYXBhYmlsaXRpZXM6IFsxNjggdjFdICMxOQoJQ2FwYWJpbGl0aWVzOiBbMTg4IHYx XSBMYXRlbmN5IFRvbGVyYW5jZSBSZXBvcnRpbmcKCQlNYXggc25vb3AgbGF0ZW5jeTogMzE0NTcy OG5zCgkJTWF4IG5vIHNub29wIGxhdGVuY3k6IDMxNDU3MjhucwoJQ2FwYWJpbGl0aWVzOiBbMTkw IHYxXSBMMSBQTSBTdWJzdGF0ZXMKCQlMMVN1YkNhcDogUENJLVBNX0wxLjIrIFBDSS1QTV9MMS4x KyBBU1BNX0wxLjIrIEFTUE1fTDEuMSsgTDFfUE1fU3Vic3RhdGVzKwoJCQkgIFBvcnRDb21tb25N b2RlUmVzdG9yZVRpbWU9MTB1cyBQb3J0VFBvd2VyT25UaW1lPTEwdXMKCQlMMVN1YkN0bDE6IFBD SS1QTV9MMS4yKyBQQ0ktUE1fTDEuMSsgQVNQTV9MMS4yKyBBU1BNX0wxLjErCgkJCSAgIFRfQ29t bW9uTW9kZT0wdXMgTFRSMS4yX1RocmVzaG9sZD0xNjM4NDBucwoJCUwxU3ViQ3RsMjogVF9Qd3JP bj00NHVzCglLZXJuZWwgZHJpdmVyIGluIHVzZTogbnZtZQoJS2VybmVsIG1vZHVsZXM6IG52bWUK CgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=