on 1/28/2023 10:03 AM, Kemeng Shi wrote: > > > on 1/19/2023 9:45 AM, Kemeng Shi wrote: >> >> >> on 1/19/2023 1:42 AM, Christoph Hellwig wrote: >>> On Wed, Jan 18, 2023 at 05:37:24PM +0800, Kemeng Shi wrote: >>>> Commit 113285b473824 ("blk-mq: ensure that bd->last is always set >>>> correctly") will set last if we failed to get driver tag for next >>>> request to avoid flush miss as we break the list walk and will not >>>> send the last request in the list which will be sent with last set >>>> normally. >>>> This code seems stale now becase the flush introduced is always >>>> redundant as: >>>> For case tag is really out, we will send a extra flush if we find >>>> list is not empty after list walk. >>>> For case some tag is freed before retry in blk_mq_prep_dispatch_rq for >>>> next, then we can get a tag for next request in retry and flush notified >>>> already is not necessary. >>> >>> I think Ming will know this code better than me, but aren't we >>> losing the blk_mq_get_driver_tag call entirely here now. Where >>> is getting the driver tag covered now? >>> >> We will get driver tag in blk_mq_prep_dispatch_rq at beginning of dispatch >> loop, so it's fine to remove blk_mq_get_driver_tag here. Thanks. >> > > Hi Ming and everyone familiar with code invovled, could you help with > reviewing this patch and patch "[PATCH v4 04/14] blk-mq: Fix potential > io hung for shared sbitmap per tagset" in the same patchset. > Thanks. > Could anyone please help review the last two patches without reviewed-by. Thanks. -- Best wishes Kemeng Shi