Messages in this thread | | | Subject | Re: [PATCH 5/7] blk-mq: remove REQ_ATOM_COMPLETE usages from blk-mq | From | "jianchao.wang" <> | Date | Tue, 9 Jan 2018 13:59:10 +0800 |
| |
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
| |