Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1649500

[RFC v2 10/10] mm: Introduce CONFIG_MEM_RANGE_LOCK

From Laurent Dufour <ldufour@linux.vnet.ibm.com>
Newsgroups linux.kernel
Subject [RFC v2 10/10] mm: Introduce CONFIG_MEM_RANGE_LOCK
Date 2017-05-24 13:30 +0200
Message-ID <tKCEj-1Hm-41@gated-at.bofh.it> (permalink)
References <tKCEh-1Hm-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


A new configuration variable is introduced to activate the use of
range lock instead of semaphore to protect per process memory layout.

This range lock is replacing the use of a semaphore for mmap_sem.

Currently only available for X86_64 and PPC64 architectures.

By default this option is turned off and requires the EXPERT mode
since it is not yet complete.

Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com>
---
 mm/Kconfig | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/mm/Kconfig b/mm/Kconfig
index beb7a455915d..955d9a735a49 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -309,6 +309,18 @@ config NEED_BOUNCE_POOL
 	bool
 	default y if TILE && USB_OHCI_HCD
 
+config MEM_RANGE_LOCK
+	bool "Use range lock for process's memory layout"
+	default n
+	depends on EXPERT
+	depends on MMU
+	depends on X86_64 || PPC64
+	help
+	  Use range lock instead of traditional semaphore to protect per
+	  process memory layout. This is required when dealing with massive
+	  threaded process on very large system (more than 80 cpu threads).
+	  If unsure say n.
+
 config NR_QUICK
 	int
 	depends on QUICKLIST
-- 
2.7.4

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

[RFC v2 00/10] Replace mmap_sem by a range lock Laurent Dufour <ldufour@linux.vnet.ibm.com> - 2017-05-24 13:30 +0200
  [RFC v2 06/10] mm: Add a range lock parameter to lock_page_or_retry() Laurent Dufour <ldufour@linux.vnet.ibm.com> - 2017-05-24 13:30 +0200
  [RFC v2 03/10] mm: Add a range parameter to the vm_fault structure Laurent Dufour <ldufour@linux.vnet.ibm.com> - 2017-05-24 13:30 +0200
  [RFC v2 02/10] mm: Remove nest locking operation with mmap_sem Laurent Dufour <ldufour@linux.vnet.ibm.com> - 2017-05-24 13:30 +0200
  [RFC v2 04/10] mm: Handle range lock field when collapsing huge pages Laurent Dufour <ldufour@linux.vnet.ibm.com> - 2017-05-24 13:30 +0200
  [RFC v2 08/10] mm: Define mem range lock operations Laurent Dufour <ldufour@linux.vnet.ibm.com> - 2017-05-24 13:30 +0200
  [RFC v2 07/10] mm: Add a range lock parameter to GUP() and handle_page_fault() Laurent Dufour <ldufour@linux.vnet.ibm.com> - 2017-05-24 13:30 +0200
  [RFC v2 05/10] mm: Add a range lock parameter to userfaultfd_remove() Laurent Dufour <ldufour@linux.vnet.ibm.com> - 2017-05-24 13:30 +0200
  [RFC v2 01/10] mm: Deactivate mmap_sem assert Laurent Dufour <ldufour@linux.vnet.ibm.com> - 2017-05-24 13:30 +0200
  [RFC v2 10/10] mm: Introduce CONFIG_MEM_RANGE_LOCK Laurent Dufour <ldufour@linux.vnet.ibm.com> - 2017-05-24 13:30 +0200

csiph-web