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. -- Best wishes Kemeng Shi