On Thu, 31 Jan 2013, Aaron Lu wrote: > > > +static int scsi_blk_runtime_suspend(struct device *dev) > > > +{ > > > + struct scsi_device *sdev = to_scsi_device(dev); > > > > For this routine and the other new ones, it may be slightly more > > efficient to pass both dev and sdev as arguments (this depends on how > > smart the compiler's optimizer is). The caller already knows both of > > them, after all. > > What about passing only scsi_device? When device is needed, I can use > &sdev->sdev_gendev. Is this equally efficient? I don't know... The difference is very small in any case. The routines will probably be inlined automatically. > > > + if (sdev->request_queue->dev) { > > > + pm_runtime_mark_last_busy(dev); > > > + err = pm_runtime_autosuspend(dev); > > > + } else { > > > + err = pm_schedule_suspend(dev, 100); > > > + } > > > + } else { > > > err = pm_runtime_suspend(dev); > > > + } > > > return err; > > Shall we ignore the return value for these pm_xxx_suspend functions? > I mean we do not need to record the return value for them and return it, > since pm core doesn't care the return value of idle callback. Maybe it will care in a future kernel version. You might as well store the return code and pass it back. 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