public inbox for linux-block@vger.kernel.org
 help / color / mirror / Atom feed
From: Ming Lei <ming.lei@redhat.com>
To: Jens Axboe <axboe@kernel.dk>
Cc: Alan Stern <stern@rowland.harvard.edu>,
	Johannes Thumshirn <jthumshirn@suse.de>,
	Ming Lei <tom.leiming@gmail.com>,
	Bart Van Assche <Bart.VanAssche@wdc.com>,
	"hch@lst.de" <hch@lst.de>,
	"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>,
	"hare@suse.de" <hare@suse.de>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"rjw@rjwysocki.net" <rjw@rjwysocki.net>,
	"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"jejb@linux.vnet.ibm.com" <jejb@linux.vnet.ibm.com>,
	"adrian.hunter@intel.com" <adrian.hunter@intel.com>
Subject: Re: [PATCH RFC V2 3/3] scsi_mq: enable runtime PM
Date: Thu, 19 Jul 2018 07:08:46 +0800	[thread overview]
Message-ID: <20180718230845.GB15589@ming.t460p> (raw)
In-Reply-To: <651898d4-f0ab-4bba-dacb-b5e32400fd3a@kernel.dk>

On Wed, Jul 18, 2018 at 08:50:39AM -0600, Jens Axboe wrote:
> On 7/18/18 8:12 AM, Alan Stern wrote:
> > On Wed, 18 Jul 2018, Johannes Thumshirn wrote:
> > 
> >> On Wed, Jul 18, 2018 at 08:06:10PM +0800, Ming Lei wrote:
> >>> IMO the problem isn't related with slow or quick device, it is related with
> >>> the system, especially when it cares about power consumption, such as
> >>> mobile phone, or laptop or servers with lots of disks attached. And we know
> >>> it is often to see some fast disks shipped in laptop, such as NVMe, or other
> >>> SSD.
> >>
> >> Yes but you're only taking locally attached devices into account.
> >> This is very likely harmful on sd devices attached to a
> >> SRP/FC/iSCSI/SAS Target in a SAN environment. These can be really fast
> >> and people investing this money are likely to not like additional
> >> performance penalties. 
> > 
> > As one extra reminder...  People who care about extreme performance can 
> > perfectly well disable CONFIG_PM in their kernels.  That should remove 
> > any overhead due to runtime PM.
> 
> This is a kernel fallacy that needs to be shot down. Most folks just run
> what the distro provides, so no, they can't just turn off various kernel
> options. This is NEVER an argument that carries any weight at all for
> me. If we have the implementation, it needs to be fast enough to be on
> by default. No "well just turn off the option if you think the overhead
> is too high". Never.
> 
> That's exactly why I didn't like the first implementation that Ming did.

Hi Jens,

As far as I can think of, pm_runtime_mark_last_busy() may has to do when
completing request for helping to figure out if queue is idle. Is
this kind of cost you can accept?

static inline void pm_runtime_mark_last_busy(struct device *dev)
{
        WRITE_ONCE(dev->power.last_busy, jiffies);
}

BTW, last time, you mentioned that we may reuse the way used in timeout
for deciding idle, but that period is too big.

Thanks,
Ming

  parent reply	other threads:[~2018-07-18 23:08 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-13  8:05 [PATCH RFC V2 0/3] blk-mq: support runtime PM Ming Lei
2018-07-13  8:06 ` [PATCH RFC V2 1/3] block: put runtime PM code into common helpers Ming Lei
2018-07-17 13:21   ` Christoph Hellwig
2018-07-13  8:06 ` [PATCH RFC V2 2/3] blk-mq: prepare for supporting runtime PM Ming Lei
2018-07-13 20:16   ` Alan Stern
2018-07-17 13:23   ` Christoph Hellwig
2018-07-13  8:06 ` [PATCH RFC V2 3/3] scsi_mq: enable " Ming Lei
2018-07-17 13:24   ` Christoph Hellwig
2018-07-17 15:30     ` Ming Lei
2018-07-17 15:34       ` Bart Van Assche
2018-07-17 15:38         ` Ming Lei
2018-07-17 19:50           ` hch
2018-07-17 20:54             ` Alan Stern
2018-07-17 21:49           ` Jens Axboe
2018-07-18 12:06             ` Ming Lei
2018-07-18 12:28               ` Johannes Thumshirn
2018-07-18 12:37                 ` Ming Lei
2018-07-18 14:12                 ` Alan Stern
2018-07-18 14:18                   ` Johannes Thumshirn
2018-07-18 15:01                     ` Alan Stern
2018-07-19  6:41                       ` Johannes Thumshirn
2018-07-19 14:35                         ` Alan Stern
2018-07-19 14:43                           ` Johannes Thumshirn
2018-07-18 14:50                   ` Jens Axboe
2018-07-18 18:46                     ` Alan Stern
2018-07-18 23:08                     ` Ming Lei [this message]
2018-07-18 12:43               ` Hannes Reinecke
2018-07-18 13:05                 ` Ming Lei
2018-07-13 14:21 ` [PATCH RFC V2 0/3] blk-mq: support " Jens Axboe
2018-07-14  2:37   ` Ming Lei
2018-07-14  2:54     ` Jens Axboe
2018-07-16 16:21       ` Bart Van Assche
2018-07-16 16:03     ` Bart Van Assche
2018-07-17  1:12       ` Ming Lei

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180718230845.GB15589@ming.t460p \
    --to=ming.lei@redhat.com \
    --cc=Bart.VanAssche@wdc.com \
    --cc=adrian.hunter@intel.com \
    --cc=axboe@kernel.dk \
    --cc=gregkh@linuxfoundation.org \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=jejb@linux.vnet.ibm.com \
    --cc=jthumshirn@suse.de \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=rjw@rjwysocki.net \
    --cc=stern@rowland.harvard.edu \
    --cc=tom.leiming@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox