On Fri, 2017-10-27 at 12:43 +0800, Ming Lei wrote: > The 1st patch removes the RESTART for TAG-SHARED because SCSI handles it > by itself, and not necessary to waste CPU to do the expensive RESTART. > And Roman Pen reported that this RESTART cuts half of IOPS in his case. > > The 2nd patch removes the RESTART when .get_budget returns BLK_STS_RESOURCE, > and this RESTART is handled by SCSI's RESTART(scsi_end_request()) too. Hello Ming, There are more block drivers than the SCSI core that share tags. If the restart mechanism is removed from the blk-mq core, does that mean that all block drivers that share tags will have to follow the example of the SCSI core and implement a restart mechanism themselves? As far as I know there is a strong preference in the Linux community to implement common mechanisms in the (block layer) core instead of in drivers. It seems to me like you are proposing the opposite, namely removing a general mechanism from the (block layer) core and moving it into a driver, namely the SCSI core? Bart.