lkml.org 
[lkml]   [2013]   [Jan]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v6 0/4] block layer runtime pm
On Mon, 14 Jan 2013, Aaron Lu wrote:

> 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.

It doesn't really matter. Since nr_pending doesn't get used when
q->dev isn't set, it doesn't hurt for it to have a meaningless value.

Alan Stern



\
 
 \ /
  Last update: 2013-01-14 17:21    [W:0.059 / U:0.544 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site