mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-07 12:25:00 -04:00
mm: introduce CONFIG_SPECULATIVE_PAGE_FAULT
This configuration variable will be used to build the code needed to handle speculative page fault. By default it is turned off, and activated depending on architecture support, SMP and MMU. Suggested-by: Thomas Gleixner <tglx@linutronix.de> Suggested-by: David Rientjes <rientjes@google.com> Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com> Change-Id: I17123124ec0667a0f0af741a740e5219d278620c Patch-mainline: linux-mm @ Tue, 17 Apr 2018 16:33:07 [vinmenon@codeaurora.org: disable the feature by default] Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
This commit is contained in:
parent
24ed5bd0dd
commit
f783633cc8
1 changed files with 23 additions and 0 deletions
23
mm/Kconfig
23
mm/Kconfig
|
|
@ -769,6 +769,29 @@ config HAVE_USERSPACE_LOW_MEMORY_KILLER
|
|||
when the OOM killer and userspace memory killer both have the
|
||||
potential to run).
|
||||
|
||||
config ARCH_SUPPORTS_SPECULATIVE_PAGE_FAULT
|
||||
def_bool n
|
||||
|
||||
config SPECULATIVE_PAGE_FAULT
|
||||
bool "Speculative page faults"
|
||||
default y
|
||||
depends on ARCH_SUPPORTS_SPECULATIVE_PAGE_FAULT
|
||||
depends on MMU && SMP
|
||||
depends on QGKI
|
||||
help
|
||||
Try to handle user space page faults without holding the mmap_sem.
|
||||
|
||||
This should allow better concurrency for massively threaded process
|
||||
since the page fault handler will not wait for other threads memory
|
||||
layout change to be done, assuming that this change is done in another
|
||||
part of the process's memory space. This type of page fault is named
|
||||
speculative page fault.
|
||||
|
||||
If the speculative page fault fails because of a concurrency is
|
||||
detected or because underlying PMD or PTE tables are not yet
|
||||
allocating, it is failing its processing and a classic page fault
|
||||
is then tried.
|
||||
|
||||
config GUP_BENCHMARK
|
||||
bool "Enable infrastructure for get_user_pages_fast() benchmarking"
|
||||
help
|
||||
|
|
|
|||
Loading…
Reference in a new issue