| From ce2baa9dccc54643434f56832c3510ab8a39ce82 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 29 Apr 2021 23:02:19 -0700 |
| Subject: mm/memory-failure: unnecessary amount of unmapping |
| |
| From: Jane Chu <jane.chu@oracle.com> |
| |
| [ Upstream commit 4d75136be8bf3ae01b0bc3e725b2cdc921e103bd ] |
| |
| It appears that unmap_mapping_range() actually takes a 'size' as its third |
| argument rather than a location, the current calling fashion causes |
| unnecessary amount of unmapping to occur. |
| |
| Link: https://lkml.kernel.org/r/20210420002821.2749748-1-jane.chu@oracle.com |
| Fixes: 6100e34b2526e ("mm, memory_failure: Teach memory_failure() about dev_pagemap pages") |
| Signed-off-by: Jane Chu <jane.chu@oracle.com> |
| Reviewed-by: Dan Williams <dan.j.williams@intel.com> |
| Reviewed-by: Naoya Horiguchi <naoya.horiguchi@nec.com> |
| Cc: Dave Jiang <dave.jiang@intel.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| mm/memory-failure.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/mm/memory-failure.c b/mm/memory-failure.c |
| index 4e3684d694c1..39db9f84b85c 100644 |
| --- a/mm/memory-failure.c |
| +++ b/mm/memory-failure.c |
| @@ -1364,7 +1364,7 @@ static int memory_failure_dev_pagemap(unsigned long pfn, int flags, |
| * communicated in siginfo, see kill_proc() |
| */ |
| start = (page->index << PAGE_SHIFT) & ~(size - 1); |
| - unmap_mapping_range(page->mapping, start, start + size, 0); |
| + unmap_mapping_range(page->mapping, start, size, 0); |
| } |
| kill_procs(&tokill, flags & MF_MUST_KILL, !unmap_success, pfn, flags); |
| rc = 0; |
| -- |
| 2.30.2 |
| |