[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <fa222311-2184-0041-61ab-b3d70fb92585@huawei.com>
Date: Thu, 3 Dec 2020 09:26:00 +0000
From: John Garry <john.garry@...wei.com>
To: Ming Lei <ming.lei@...hat.com>
CC: <axboe@...nel.dk>, <linux-block@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <hch@....de>, <hare@...e.de>,
<ppvk@...eaurora.org>, <bvanassche@....org>,
<kashyap.desai@...adcom.com>
Subject: Re: [RFC PATCH] blk-mq: Clean up references when freeing rqs
On 03/12/2020 00:55, Ming Lei wrote:
Hi Ming,
>> Yeah, so I said that was another problem which you mentioned there, which
>> I'm not addressing, but I don't think that I'm making thing worse here.
> The thing is that this patch does not fix the issue completely.
>
>> So AFAICS, the blk-mq/sched code doesn't wait for any "readers" to be
>> finished, such as those running blk_mq_queue_tag_busy_iter or
>> blk_mq_tagset_busy_iter() in another context.
>>
>> So how about the idea of introducing some synchronization primitive, such as
>> semaphore, which those "readers" must grab and release at start and end (of
>> iter), to ensure the requests are not freed during the iteration?
> It looks good, however devil is in details, please make into patch for
> review.
OK, but another thing to say is that I need to find a somewhat reliable
reproducer for the potential problem you mention. So far this patch
solves the issue I see (in that kasan stops warning). Let me analyze
this a bit further.
Thanks,
John
Powered by blists - more mailing lists