lkml.org 
[lkml]   [2013]   [Jan]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v7 0/6] solve deadlock caused by memory allocation with I/O
On Thu, 17 Jan 2013 09:28:14 +0800
Ming Lei <ming.lei@canonical.com> wrote:

> > If so, I wonder if we could avoid the whole problem by appropriately
> > syncing all dirty memory back to storage before starting to turn devices
> > off?
>
> The patchset is to address the probable deadlock problem by GFP_KERNEL
> during runtime suspend/resume which is per block/network device. I am
> wondering if syncing all dirty memory is suitable or necessary during
> per-storage/network device runtime resume/suspend:
>
> - sys_sync is very slow and runtime pm operation is frequent
>
> - it is not efficient because only sync dirty memory against the affected
> device is needed in theory and not necessary to sync all
>
> - we still need some synchronization to avoid accessing the storage
> between sys_sync and device suspend, just like system sleep case,
> pm_restrict_gfp_mask is needed even sys_sync has been done
> inside enter_state().
>
> So looks the approach in the patch is simpler and more efficient, :-)
>
> Also, with the patchset, we can avoid many GFP_NOIO allocation
> which is fragile and not easy to use.

Fair enough, thanks.

I grabbed the patches for 3.9-rc1. It is good that the page
allocator's newly-added test of current->flags is not on the fastpath.



\
 
 \ /
  Last update: 2013-01-17 23:42    [W:0.065 / U:0.196 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site