On Mon, 4 Feb 2019 at 09:25, Christoph Hellwig <hch@xxxxxx> wrote: > > On Mon, Feb 04, 2019 at 07:24:43AM +0100, Ulf Hansson wrote: > > > The above results in multiple hung tasks that lead to failures to boot. > > > > > > Switching complete_work to the system_highpri queue avoids this > > > because system_highpri is not flagged with WQ_MEM_RECLAIM. This allows > > > the host to be released without getting blocked by other claims tasks. > > > > > > > Thanks for fix and the detailed description to the problem! > > I don't think this is correct, though. If you think of the swap > (or memory reclaim of file backed pages) case on mmc, completing > a mmc request can very much be critical for completing that memory > reclaim. Thus we absolutely do need a WQ_MEM_RECLAIM workqueue. > You probably want to create a private WQ_MEM_RECLAIM workqueue in the > mmc code for that. Thanks for your input! Although, I am not sure why having our own mmc workqueue, would fix this problem. Couldn't we hit the same kind of deadlock anyways you think? Kind regards Uffe