[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130114031422.GB15280@aaronlu.sh.intel.com>
Date: Mon, 14 Jan 2013 11:14:23 +0800
From: Aaron Lu <aaron.lu@...el.com>
To: Alan Stern <stern@...land.harvard.edu>
Cc: Jens Axboe <axboe@...nel.dk>, "Rafael J. Wysocki" <rjw@...k.pl>,
James Bottomley <James.Bottomley@...senpartnership.com>,
linux-pm@...r.kernel.org, linux-scsi@...r.kernel.org,
linux-kernel@...r.kernel.org, Aaron Lu <aaron.lwe@...il.com>,
Shane Huang <shane.huang@....com>
Subject: Re: [PATCH v6 0/4] block layer runtime pm
On Tue, Jan 08, 2013 at 10:27:54AM -0500, Alan Stern wrote:
> On Tue, 8 Jan 2013, Aaron Lu wrote:
>
> > So this also reminds me that as long as CONFIG_PM_RUNTIME is selected,
> > the blk_pm_add/put/peek_request functions will be in the block IO path.
> > Shall we introduce a new config option to selectively build block
> > runtime PM functionality? something like CONFIG_BLK_PM_RUNTIME perhaps?
> >
> > Just some condition checks in those functions, not sure if it is worth a
> > new config though. Please suggest, thanks.
>
> I don't think it is needed. The new routines will be very quick when
> blk_pm_runtime_init() hasn't been called, once you add back the checks
> for the queue's device.
Is it necessary to also add the q->dev check in the following case?
static void blk_pm_requeue_request(struct request *rq)
{
if (rq->q->dev && !(rq->cmd_flags & REQ_PM))
rq->q->nr_pending--;
}
So that we do not have a meanlingless value of nr_pending for those
drivers that don't use block runtime PM, and this also has the benefit
of making those drivers return early.
Thanks,
Aaron
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists