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 -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html