On Sat, 24 Nov 2012 20:59:12 +0800 Ming Lei <ming.lei@xxxxxxxxxxxxx> wrote: > This patchset try to solve one deadlock problem which might be caused > by memory allocation with block I/O during runtime PM and block device > error handling path. Traditionly, the problem is addressed by passing > GFP_NOIO statically to mm, but that is not a effective solution, see > detailed description in patch 1's commit log. > > This patch set introduces one process flag and trys to fix the deadlock > problem on block device/network device during runtime PM or usb bus reset. > > The 1st one is the change on include/sched.h and mm. > > The 2nd patch introduces the flag of memalloc_noio on 'dev_pm_info', > and pm_runtime_set_memalloc_noio(), so that PM Core can teach mm to not > allocate mm with GFP_IO during the runtime_resume callback only on > device with the flag set. > > The following 2 patches apply the introduced pm_runtime_set_memalloc_noio() > to mark all devices as memalloc_noio_resume in the path from the block or > network device to the root device in device tree. > > The last 2 patches are applied again PM and USB subsystem to demonstrate > how to use the introduced mechanism to fix the deadlock problem. > > Andrew, could you queue these patches into your tree since V6 fixes all > your concerns and looks no one objects these patches? Yes, this patchset looks ready to run with. But as we're at -rc7 I'll ask you to refresh, retest and resend after 3.8-rc1, please. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>