Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp567583yba; Thu, 9 May 2019 02:28:24 -0700 (PDT) X-Google-Smtp-Source: APXvYqw+ycMniyCSfa16OVbl0ykzr1ebmKywTfrXPxG8cXFc5Tmd9ZwB7t+qq/G5G6OV9mEqo5Qu X-Received: by 2002:a63:8741:: with SMTP id i62mr3964565pge.313.1557394104482; Thu, 09 May 2019 02:28:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557394104; cv=none; d=google.com; s=arc-20160816; b=SHC7EfRMVSoss4MccyC7aoMbJW2IuaLdSrYuyN6aT6n+kjP9ZJ54M/iHG027Lpuq2Q ssQAklZ+h30OYHc7HiFrfy/BJ2Ezg1KwIEfOtiU5foP9+p/y/TFY51u7obHHW7r5mZof PPhjxYrE+D1W9KYXgov2lxSGVJdgjK9NhLFJ5XXQUDNe8tsgnJ2yqQxZy5oAcTKycxxL rElH/a8JtBvcv4fpYUX2dVtZDd9Xn6uSszFL1mTTKl3TM6wouhKgpSpALLTincm/lLad Pgm5rqYT1o4iI/T3AaonTrvxUt1dyWf/wLQXblEXbQb8hPKUa1/oZUYeEca7ZiCs/B/v 2ymw== 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-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=srkvPx4LsKBJF5OWo0kPW5azTZstQqY5S4DrtfK+xmE=; b=ll8WeFGTi0fwnS/XJDmQ9Nq42ESFc2R7JYikkLX6tGvLg3paeDMy9AaqTjHg9um/Te IMIP6XHlG9mc9Ktgh03nmhglqGh0tv3dqYuDB88DzODm3ZUoTM9tHNowMEHu9PbD+oS9 sCgD2YHBb/fgDSHBvXeLksGslfnyxuvLfUzKtz23xqXqGOuwLwAKA5tFBK46qacJEeiw bL0W3GELBzaeMv6C2cxKRlC8jOxld0X17h1/Y1HHrTSg82MKepb9bS6gwwh+a4tO+9ih GQqKms5yeGJOjQP2hKOT4xQ4cDYoTTnDB8YJgPC4QD+R0501CqmT6/YtaStqc7fb2pKk OHCA== 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 h8si2189554pgk.221.2019.05.09.02.28.08; Thu, 09 May 2019 02:28:24 -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 S1726716AbfEIJZf (ORCPT + 99 others); Thu, 9 May 2019 05:25:35 -0400 Received: from verein.lst.de ([213.95.11.211]:44682 "EHLO newverein.lst.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726078AbfEIJZe (ORCPT ); Thu, 9 May 2019 05:25:34 -0400 Received: by newverein.lst.de (Postfix, from userid 2407) id 3C79568AFE; Thu, 9 May 2019 11:25:14 +0200 (CEST) Date: Thu, 9 May 2019 11:25:14 +0200 From: Christoph Hellwig To: "Rafael J. Wysocki" Cc: Christoph Hellwig , Kai-Heng Feng , 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: <20190509092514.GA18598@lst.de> References: <20190508185955.11406-1-kai.heng.feng@canonical.com> <20190508191624.GA8365@localhost.localdomain> <3CDA9F13-B17C-456F-8CE1-3A63C6E0DC8F@canonical.com> <20190508195159.GA1530@lst.de> <20190509061237.GA15229@lst.de> <064701C3-2BD4-4D93-891D-B7FBB5040FC4@canonical.com> <20190509065223.GA15984@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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 11:19:37AM +0200, Rafael J. Wysocki wrote: > Right, the choice of the target system state has already been made > when their callbacks get invoked (and it has been made by user space, > not by the platform). From a previous discussion I remember the main problem here is that a lot of consumer NVMe use more power when put into D3hot than just letting the device itself manage the power state transitions themselves. Based on this patch there also might be some other device that want an explicit power state transition from the host, but still not be put into D3hot. The avoid D3hot at all cost thing seems to be based on the Windows broken^H^H^H^H^H^Hmodern standby principles. So for platforms that follow the modern standby model we need to avoid putting NVMe devices that support power management into D3hot somehow. This patch doesa a few more things, but at least for the device where I was involved in the earlier discussion those are not needed, and from the Linux point of view many of them seem wrong too. How do you think we best make that distinction? Are the pm_ops enough if we don't use the simple version?