diff options
author | Davidlohr Bueso <dave@stgolabs.net> | 2014-12-12 19:54:36 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-13 15:42:45 -0500 |
commit | d28eb9c861f41aa2af4cfcc5eeeddff42b13d31e (patch) | |
tree | 7d87b9e9582ca25b5041534fdd43800ceb0be738 | |
parent | 874bfcaf79e39135cd31e1cfc9265cf5222d1ec3 (diff) |
mm/memory-failure: share the i_mmap_rwsem
No brainer conversion: collect_procs_file() only schedules a process for
later kill, share the lock, similarly to the anon vma variant.
Signed-off-by: Davidlohr Bueso <dbueso@suse.de>
Acked-by: "Kirill A. Shutemov" <kirill@shutemov.name>
Acked-by: Hugh Dickins <hughd@google.com>
Cc: Oleg Nesterov <oleg@redhat.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Rik van Riel <riel@redhat.com>
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Acked-by: Mel Gorman <mgorman@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | mm/memory-failure.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/mm/memory-failure.c b/mm/memory-failure.c index 5e2b26dab8dc..6b94969d91c5 100644 --- a/mm/memory-failure.c +++ b/mm/memory-failure.c | |||
@@ -466,7 +466,7 @@ static void collect_procs_file(struct page *page, struct list_head *to_kill, | |||
466 | struct task_struct *tsk; | 466 | struct task_struct *tsk; |
467 | struct address_space *mapping = page->mapping; | 467 | struct address_space *mapping = page->mapping; |
468 | 468 | ||
469 | i_mmap_lock_write(mapping); | 469 | i_mmap_lock_read(mapping); |
470 | read_lock(&tasklist_lock); | 470 | read_lock(&tasklist_lock); |
471 | for_each_process(tsk) { | 471 | for_each_process(tsk) { |
472 | pgoff_t pgoff = page_to_pgoff(page); | 472 | pgoff_t pgoff = page_to_pgoff(page); |
@@ -488,7 +488,7 @@ static void collect_procs_file(struct page *page, struct list_head *to_kill, | |||
488 | } | 488 | } |
489 | } | 489 | } |
490 | read_unlock(&tasklist_lock); | 490 | read_unlock(&tasklist_lock); |
491 | i_mmap_unlock_write(mapping); | 491 | i_mmap_unlock_read(mapping); |
492 | } | 492 | } |
493 | 493 | ||
494 | /* | 494 | /* |