On Thu, Apr 01, 2021 at 10:19:26AM +0800, Ming Lei wrote: > From: Jeffle Xu <jefflexu@xxxxxxxxxxxxxxxxx> > > This method can be used to check if bio-based device supports IO polling > or not. For mq devices, checking for hw queue in polling mode is > adequate, while the sanity check shall be implementation specific for > bio-based devices. For example, dm device needs to check if all > underlying devices are capable of IO polling. > > Though bio-based device may have done the sanity check during the > device initialization phase, cacheing the result of this sanity check > (such as by cacheing in the queue_flags) may not work. Because for dm > devices, users could change the state of the underlying devices through > '/sys/block/<dev>/io_poll', bypassing the dm device above. In this case, > the cached result of the very beginning sanity check could be > out-of-date. Thus the sanity check needs to be done every time 'io_poll' > is to be modified. I really don't think thi should be a method, and I really do dislike how we have all this "if (is_mq)" junk. Why can't we have a flag on the gendisk that signals if the device can support polling that is autoamtically set for blk-mq and as-needed by bio based drivers? And please move everything that significantly hanges things for the mq based path to separate prep patches early in th series.