[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1fe6efde-a843-68f0-8533-761d611f0a9b@oracle.com>
Date: Tue, 9 Jan 2018 13:59:10 +0800
From: "jianchao.wang" <jianchao.w.wang@...cle.com>
To: Tejun Heo <tj@...nel.org>
Cc: jbacik@...com, jack@...e.cz, axboe@...nel.dk, clm@...com,
kernel-team@...com, linux-kernel@...r.kernel.org,
linux-btrfs@...r.kernel.org, peterz@...radead.org,
Bart.VanAssche@....com
Subject: Re: [PATCH 5/7] blk-mq: remove REQ_ATOM_COMPLETE usages from blk-mq
Hi tejun
Many thanks for your kindly response.
On 01/09/2018 11:37 AM, Tejun Heo wrote:
> Hello,
>
> On Tue, Jan 09, 2018 at 11:08:04AM +0800, jianchao.wang wrote:
>>> But what'd prevent the completion reinitializing the request and then
>>> the actual completion path coming in and completing the request again?
>>
>> blk_mark_rq_complete() will gate and ensure there will be only one
>> __blk_mq_complete_request() to be invoked.
>
> Yeah, but then the complete flag will be cleared once completion is
> done and the request is reinitialized.
Yes, it is. What I mean is not to reserve blk_mark_rq_complete and REQ_ATOM_COMPLETE
usages in blk-mq but the side-effect after blk_mq_complete_request cannot exclude with itself.
As you said, the scene is racy and should be modified. :)
Thanks
Jianchao
Powered by blists - more mailing lists