Hello, On Fri, Jul 29, 2016 at 01:30:05AM +0300, Saeed Mahameed wrote: > > Are the workitems being used on a memory reclaim path? > > do you mean they need to allocate memory ?
It's a bit convoluted. A workqueue needs WQ_MEM_RECLAIM flag to be guaranteed forward progress under memory pressure, so any workqueue which may be depended upon during memory reclaim should have the flag set; otherwise, the system can deadlock (try to reclaim memory, hits the wq which can't make forward progress due to lack of memory). For network devices, the requirement comes from block-over-network or nfs which can be involved in memory reclaim. Thanks. -- tejun