[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <de7b841c-a195-1b1e-eb60-02cbd6ba4e0a@acm.org>
Date: Thu, 13 Feb 2020 21:49:47 -0800
From: Bart Van Assche <bvanassche@....org>
To: Salman Qazi <sqazi@...gle.com>
Cc: Ming Lei <ming.lei@...hat.com>, Jens Axboe <axboe@...nel.dk>,
Christoph Hellwig <hch@....de>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-block@...r.kernel.org, Gwendal Grignou <gwendal@...gle.com>,
Jesse Barnes <jsbarnes@...gle.com>
Subject: Re: BLKSECDISCARD ioctl and hung tasks
On 2020-02-13 11:21, Salman Qazi wrote:
> AFAICT, This is not actually sufficient, because the issuer of the bio
> is waiting for the entire bio, regardless of how it is split later.
> But, also there isn't a good mapping between the size of the secure
> discard and how long it will take. If given the geometry of a flash
> device, it is not hard to construct a scenario where a relatively
> small secure discard (few thousand sectors) will take a very long time
> (multiple seconds).
>
> Having said that, I don't like neutering the hung task timer either.
Hi Salman,
How about modifying the block layer such that completions of bio
fragments are considered as task activity? I think that bio splitting is
rare enough for such a change not to affect performance of the hot path.
How about setting max_discard_segments such that a discard always
completes in less than half the hung task timeout? This may make
discards a bit slower for one particular block driver but I think that's
better than hung task complaints.
Thanks,
Bart.
Powered by blists - more mailing lists