Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp628122yba; Thu, 9 May 2019 03:34:46 -0700 (PDT) X-Google-Smtp-Source: APXvYqy+cQ9xItTaIGR7sWSC3clzN6d+1x6biKnH+LpLC3zxCv+v4f47vByQFd54JGIQHSl3nR8g X-Received: by 2002:a63:2c4c:: with SMTP id s73mr4366906pgs.42.1557398086174; Thu, 09 May 2019 03:34:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557398086; cv=none; d=google.com; s=arc-20160816; b=OinvDrsGjOYX/AJQeT8EW5U2kOZ9z6lcWmGI0W9N5HHyTYbirJqdp2XL7ojyN7VGpC VSOWegk0OBmc6PiFrKbaCNUP/QVnfCxkz1Gde24i4QOxcKA7HaOK5a749Uy90N5+HpMx 9TxsrJhaUEhktrZkz2TF28ymF61E2UYH/crTjtNFTVZNvpWv2x2Z/8FUdVq1V0XbYye2 fiAk2dPhaAreGzPWlgMDhAhaUh5a6GsHhTqcLCTYdhLPlY8ddzvr+v3UoIFuUmA6Kj1L hfn3GtkZqWaXZMRlI+SHVlTOHWeal1cmEqgWdvVcZZbrBC/GnXNbBQ5nyU/yj10Ioo73 fNkQ== 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=UocFmiLBIkpydLm7xExVs9T0LWnuPLjY+JoBLM4+Q0A=; b=URIaAUu72qs+/Es/J9C2w0YxjXsDwYX1uYp6BsmUsJ9yBtvU0/30pHPerkmRkLBRpK VpIz3SHS/F/NZccIFA/QLTJYHEghEyE0ODr932DlDi+AhWWiNBVILHWr0vNAq61/6LPx OU58Wu5tzUORfFX3QMerFAgsAtyBo+HyxG7ORCZxQs4UIZ6XSkkweIajQ2kceK6SshDc 8IwNHIermTcGHwkfS86vdOREfNsN41MbqY95HN+qki95vBo/RMyODDSRu261qgGA8E/6 DVMVKRvPik/HB0Cxm1pYS2LEOO5IqnVEMx4O5aT0MfhfMqh71K1eszrlXxKCktjAl3xd eTJA== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t9si2160956plq.396.2019.05.09.03.34.29; Thu, 09 May 2019 03:34:46 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726563AbfEIKcD (ORCPT + 99 others); Thu, 9 May 2019 06:32:03 -0400 Received: from verein.lst.de ([213.95.11.211]:44976 "EHLO newverein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725869AbfEIKcD (ORCPT ); Thu, 9 May 2019 06:32:03 -0400 Received: by newverein.lst.de (Postfix, from userid 2407) id 9B83E68B20; Thu, 9 May 2019 12:31:42 +0200 (CEST) Date: Thu, 9 May 2019 12:31:42 +0200 From: Christoph Hellwig To: Kai-Heng Feng Cc: Christoph Hellwig , "Rafael J. Wysocki" , Rafael Wysocki , Mario Limonciello , Keith Busch , Keith Busch , 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: <20190509103142.GA19550@lst.de> 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.5.17 (2007-11-01) 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 06:28:32PM +0800, Kai-Heng Feng wrote: > 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. System freeze sounds odd. And we had a patch from a person on the Cc list here that was handed to me through a few indirections that just skipps the suspend entirely for some cases, which seemd to work fine with the controllers in question. >> Otherwise I think we should use a "no-op" suspend, just leaving the >> power management to the device, or a simple setting the device to the >> deepest power state for everything else, where everything else is >> suspend, or suspend to idle. > > I am not sure I get your idea. Does this “no-op” suspend happen in NVMe > driver or PM core? no-op means we don't want to do anything in nvme. If that happens by not calling nvme or stubbing out the method for that particular case does not matter. >> And of course than we have windows modern standby actually mandating >> runtime D3 in some case, and vague handwaving mentions of this being >> forced on the platforms, which I'm not entirely sure how they fit >> into the above picture. > > I was told that Windows doesn’t use runtime D3, APST is used exclusively. As far as I know the default power management modes in the Microsoft NVMe driver is explicit power management transitions, and in the Intel RST driver that is commonly used it is APST. But both could still be comined with runtime D3 in theory, I'm just not sure if they are. Microsoft has been pushing for aggressive runtime D3 for a while, but I don't know if that includes NVMe devices. > > Kai-Heng > ---end quoted text---