[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230118174208.GH12399@lst.de>
Date: Wed, 18 Jan 2023 18:42:08 +0100
From: Christoph Hellwig <hch@....de>
To: Kemeng Shi <shikemeng@...weicloud.com>
Cc: hch@....de, axboe@...nel.dk, dwagner@...e.de, hare@...e.de,
ming.lei@...hat.com, linux-block@...r.kernel.org,
linux-kernel@...r.kernel.org, john.garry@...wei.com, jack@...e.cz
Subject: Re: [PATCH v4 12/14] blk-mq: remove set of bd->last when get
driver tag for next request fails
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?
Powered by blists - more mailing lists