aboutsummaryrefslogtreecommitdiffstats
path: root/mm/memory-failure.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2018-07-13 21:50:06 -0700
committerDave Jiang <dave.jiang@intel.com>2018-07-23 10:38:05 -0700
commit23e7b5c2e2715947cf1ff57124dd3e96caf48521 (patch)
tree1858e8c39a96a6d61d76deeab9b32b64b549d041 /mm/memory-failure.c
parentmm, dev_pagemap: Do not clear ->mapping on final put (diff)
downloadlinux-dev-23e7b5c2e2715947cf1ff57124dd3e96caf48521.tar.xz
linux-dev-23e7b5c2e2715947cf1ff57124dd3e96caf48521.zip
mm, madvise_inject_error: Let memory_failure() optionally take a page reference
The madvise_inject_error() routine uses get_user_pages() to lookup the pfn and other information for injected error, but it does not release that pin. The assumption is that failed pages should be taken out of circulation. However, for dax mappings it is not possible to take pages out of circulation since they are 1:1 physically mapped as filesystem blocks, or device-dax capacity. They also typically represent persistent memory which has an error clearing capability. In preparation for adding a special handler for dax mappings, shift the responsibility of taking the page reference to memory_failure(). I.e. drop the page reference and do not specify MF_COUNT_INCREASED to memory_failure(). Cc: Michal Hocko <mhocko@suse.com> Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com> Acked-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions