On 5/3/20 6:52 AM, Pavel Begunkov wrote: > On 30/04/2020 17:52, Jens Axboe wrote: >> On 4/29/20 6:47 PM, Bijan Mottahedeh wrote: >>> Use ctx->fallback_req address for test_and_set_bit_lock() and >>> clear_bit_unlock(). >> >> Thanks, applied. >> > > How about getting rid of it? As once was fairly noticed, we're screwed in many > other ways in case of OOM. Otherwise we at least need to make async context > allocation more resilient. Not sure how best to handle it, it really sucks to have things fall apart under high memory pressure, a condition that isn't that rare in production systems. But as you say, it's only a half measure currently. We could have the fallback request have req->io already allocated, though. That would provide what we need for guaranteed forward progress, even in the presence of OOM conditions. -- Jens Axboe