On Wed, Nov 25, 2015 at 04:45:13PM +0100, Vlastimil Babka wrote: > On 11/25/2015 04:36 PM, Vladimir Davydov wrote: > > Block device drivers often hand off io request processing to kernel > > threads (example: device mapper). If such a thread calls kmalloc, it can > > dive into direct reclaim path and end up waiting for too_many_isolated > > to return false, blocking writeback. This can lead to a dead lock if the > > Shouldn't such allocation lack __GFP_IO to prevent this and other kinds of > deadlocks? And/or have mempools?
Not necessarily. loopback is an example: it can call grab_cache_write_begin -> add_to_page_cache_lru with GFP_KERNEL. > PF_KTHREAD looks like a big hammer to me that will solve only one > potential problem... This problem can result in processes hanging forever. Any ideas how this could be fixed in a better way? Thanks, Vladimir -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/