Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp1023243yba; Thu, 9 May 2019 09:28:39 -0700 (PDT) X-Google-Smtp-Source: APXvYqzVPCKGlaRV3ATBPjqgsHVao/Jyr++iDGBQl8w2GORm9yFfg6DC7/8ukn/m8QGDBlL7qRrS X-Received: by 2002:a17:902:7c8f:: with SMTP id y15mr6378433pll.339.1557419319159; Thu, 09 May 2019 09:28:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557419319; cv=none; d=google.com; s=arc-20160816; b=zgkhhnewa8lakbaYgwniEpv84ekTgCMNVpiiGAjJX80+PiLc1KhGEnpemNThFsEEnK 15FzLYXvbjo+oI17pE9qSNtnDt+NhaXq/ITXO3KQsswjU0BYmHW5j+0ovqsl2ve4VE/T iB1r5QzLw5KuI0J3nUs/Cy48qatUsnzNroOC6/O0zND2fe4xIBhmSJsIvBpSjiYbEE7s f7dqQGWumxkvyf59qNlYnZqjJB668P3ulM8sBqZwloTAQ9KM0NV21Ktlo4VYerxLhj2o Q4Y1MbAhH9gh3wx+M7+8QnQ+weH3qR5DkmoWpe4SjTmmWRCinC5rBLDRrtQVapAghrdl 6lhA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-transfer-encoding:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=TdAeElONWlXFsQYrKaKs5DzcjrAQP8klyNib5OlFjtw=; b=fAcYzaYMnOmamzL+0TneGwMTeo1lwFCr272fr6MSIRu1qlffHvr2gIxeE6GbcX1E2n L1CupcHDlqAUX5TT8jm0fjxkjbJOU0BDQ+sbvd+WE6hTYKGPpVWKvpfnDoIMg4j49UAG FE0bUSYXZbyuNaIDRzjtmqM+qc6tiTvuBrP7b3MKlKSGGumO5nacjp+RaIdZirD3/1Sj i2llFb2RFR/7U6H8SEWN9M+ReWYwB31u1Frjmv2bXUn9fdO9XUxV42+BnOx5nIiRCYvs tq6uPNc1HlcaymWzsEIcvhSJBmPd5d/VAwVeLEE4gYUViG98yH28WVXMsOAElYyeO8Cs ZQHg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g7si3470580pgc.313.2019.05.09.09.28.23; Thu, 09 May 2019 09:28:39 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727043AbfEIQ0L (ORCPT + 99 others); Thu, 9 May 2019 12:26:11 -0400 Received: from mga09.intel.com ([134.134.136.24]:40864 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727028AbfEIQ0K (ORCPT ); Thu, 9 May 2019 12:26:10 -0400 X-Amp-Result: UNSCANNABLE X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 May 2019 09:26:10 -0700 X-ExtLoop1: 1 Received: from unknown (HELO localhost.localdomain) ([10.232.112.69]) by fmsmga005.fm.intel.com with ESMTP; 09 May 2019 09:26:09 -0700 Date: Thu, 9 May 2019 10:20:38 -0600 From: Keith Busch To: Kai-Heng Feng Cc: Christoph Hellwig , "Rafael J. Wysocki" , "Wysocki, Rafael J" , Mario Limonciello , "Busch, Keith" , Jens Axboe , Sagi Grimberg , linux-nvme , Linux PM , LKML Subject: Re: [PATCH] nvme-pci: Use non-operational power state instead of D3 on Suspend-to-Idle Message-ID: <20190509162038.GC9548@localhost.localdomain> References: <3CDA9F13-B17C-456F-8CE1-3A63C6E0DC8F@canonical.com> <20190508195159.GA1530@lst.de> <20190509061237.GA15229@lst.de> <064701C3-2BD4-4D93-891D-B7FBB5040FC4@canonical.com> <20190509095601.GA19041@lst.de> <225CF4F7-C8E1-4C66-B362-97E84596A54E@canonical.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <225CF4F7-C8E1-4C66-B362-97E84596A54E@canonical.com> User-Agent: Mutt/1.9.1 (2017-09-22) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, May 09, 2019 at 03:28:32AM -0700, Kai-Heng Feng wrote: > at 17:56, Christoph Hellwig wrote: > > The we have the sequence in your patch. This seems to be related to > > some of the MS wording, but I'm not sure what for example tearing down > > the queues buys us. Can you explain a bit more where those bits > > make a difference? > > Based on my testing if queues (IRQ) are not disabled, NVMe controller won’t > be quiesced. > Symptoms can be high power drain or system freeze. > > I can check with vendors whether this also necessary under Windows. Hm, that doesn't sound right based on the spec's description of how this feature works. We should not need to tear down IO queues for entering low power, nor reset the controller to exit it. The sequence for entering non-operational low power should just be freeze request queues, set the power feature, then unfreeze request queues. We shouldn't have to do anything to exit the state as the spec requires devices autonomously return to operational when an IO doorbell is written.