Messages in this thread | | | Subject | Re: BLKSECDISCARD ioctl and hung tasks | From | Bart Van Assche <> | Date | Thu, 13 Feb 2020 21:49:47 -0800 |
| |
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.
| |