Thread (17 messages) 17 messages, 4 authors, 2018-12-06

Re: [PATCH 2/2] core-api/memory-hotplug.rst: divide Locking Internal section by different locks

flat view

From: Wei Yang <hidden>
Date: 2018-12-05 09:23:22
Also in: linux-mm

On Wed, Dec 05, 2018 at 09:08:47AM +0100, David Hildenbrand wrote:
On 05.12.18 03:34, Wei Yang wrote:
quoted
Currently locking for memory hotplug is a little complicated.

Generally speaking, we leverage the two global lock:

  * device_hotplug_lock
  * mem_hotplug_lock

to serialise the process.

While for the long term, we are willing to have more fine-grained lock
to provide higher scalability.

This patch divides Locking Internal section based on these two global
locks to help readers to understand it. Also it adds some new finding to
enrich it.

[David: words arrangement]

Signed-off-by: Wei Yang <redacted>
---
 Documentation/core-api/memory-hotplug.rst | 27 ++++++++++++++++++++++++---
 1 file changed, 24 insertions(+), 3 deletions(-)
diff --git a/Documentation/core-api/memory-hotplug.rst b/Documentation/core-api/memory-hotplug.rst
index de7467e48067..95662b283328 100644
--- a/Documentation/core-api/memory-hotplug.rst
+++ b/Documentation/core-api/memory-hotplug.rst
@@ -89,6 +89,20 @@ NOTIFY_STOP stops further processing of the notification queue.
 Locking Internals
 =================
 
+There are three locks involved in memory-hotplug, two global lock and one local
+lock:
+
+- device_hotplug_lock
+- mem_hotplug_lock
+- device_lock
+
Do we really only ever use these three and not anything else when
adding/removing/onlining/offlining memory?

(I am thinking e.g. about pgdat_resize_lock)
Yes there are more than those three, pgdat_resize_lock is one of them.
If so, you should phrase that maybe more generally Or add more details :)
Yep, while I don't get a whole picture about the pgdat_resize_lock. The
usage of this lock scatter in many places.
"In addition to fine grained locks like pgdat_resize_lock, there are
three locks involved ..."
Sounds better :-)

-- 
Wei Yang
Help you, Help me
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help