From: Byungchul Park <byungchul.park@lge.com>
To: peterz@infradead.org, mingo@kernel.org
Cc: tglx@linutronix.de, linux-kernel@vger.kernel.org,
linux-mm@kvack.org, linux-block@vger.kernel.org,
kernel-team@lge.com
Subject: [PATCH v3 1/5] locking/Documentation: Remove meaningless examples and a note
Date: Sat, 11 Nov 2017 22:26:28 +0900 [thread overview]
Message-ID: <1510406792-28676-2-git-send-email-byungchul.park@lge.com> (raw)
In-Reply-To: <1510406792-28676-1-git-send-email-byungchul.park@lge.com>
crossrelease.txt is too verbose and includes two meaningless examples
and an unnecessary note. Remove them.
Signed-off-by: Byungchul Park <byungchul.park@lge.com>
---
Documentation/locking/crossrelease.txt | 48 +---------------------------------
1 file changed, 1 insertion(+), 47 deletions(-)
diff --git a/Documentation/locking/crossrelease.txt b/Documentation/locking/crossrelease.txt
index bdf1423..0f8eb8a 100644
--- a/Documentation/locking/crossrelease.txt
+++ b/Documentation/locking/crossrelease.txt
@@ -281,31 +281,7 @@ causes a deadlock. The more lockdep adds dependencies, the more it
thoroughly works. Thus Lockdep has to do its best to detect and add as
many true dependencies into a graph as possible.
-For example, considering only typical locks, lockdep builds a graph like:
-
- A -> B -
- \
- -> E
- /
- C -> D -
-
- where A, B,..., E are different lock classes.
-
-On the other hand, under the relaxation, additional dependencies might
-be created and added. Assuming additional 'FX -> C' and 'E -> GX' are
-added thanks to the relaxation, the graph will be:
-
- A -> B -
- \
- -> E -> GX
- /
- FX -> C -> D -
-
- where A, B,..., E, FX and GX are different lock classes, and a suffix
- 'X' is added on non-typical locks.
-
-The latter graph gives us more chances to check circular dependencies
-than the former. However, it might suffer performance degradation since
+However, it might suffer performance degradation since
relaxing the limitation, with which design and implementation of lockdep
can be efficient, might introduce inefficiency inevitably. So lockdep
should provide two options, strong detection and efficient detection.
@@ -469,12 +445,6 @@ works without crossrelease for typical locks.
where A, B and C are different lock classes.
- NOTE: This document assumes that readers already understand how
- lockdep works without crossrelease thus omits details. But there's
- one thing to note. Lockdep pretends to pop a lock from held_locks
- when releasing it. But it's subtly different from the original pop
- operation because lockdep allows other than the top to be poped.
-
In this case, lockdep adds 'the top of held_locks -> the lock to acquire'
dependency every time acquiring a lock.
@@ -805,22 +775,6 @@ Remind what a dependency is. A dependency exists if:
For example:
- acquire A
- acquire B /* A dependency 'A -> B' exists */
- release B
- release A
-
- where A and B are different lock classes.
-
-A depedency 'A -> B' exists since:
-
- 1. A waiter for A and a waiter for B might exist when acquiring B.
- 2. Only way to wake up each is to release what it waits for.
- 3. Whether the waiter for A can be woken up depends on whether the
- other can. IOW, TASK X cannot release A if it fails to acquire B.
-
-For another example:
-
TASK X TASK Y
------ ------
acquire AX
--
1.9.1
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2017-11-11 13:26 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-11 13:26 [PATCH v3 0/5] Revise crossrelease.txt Byungchul Park
2017-11-11 13:26 ` Byungchul Park [this message]
2017-11-11 13:26 ` [PATCH v3 2/5] locking/Documentation: Fix typos and clear grammar errors Byungchul Park
2017-11-11 13:26 ` [PATCH v3 3/5] locking/Documentation: Fix weird expressions Byungchul Park
2017-11-11 13:26 ` [PATCH v3 4/5] locking/Documentation: Add an example to help crossrelease.txt more readable Byungchul Park
2017-11-11 13:26 ` [PATCH v3 5/5] locking/Documentation: Align crossrelease.txt with the width Byungchul Park
2017-11-11 13:33 ` [PATCH] locking/Documentation: Revise Documentation/locking/crossrelease.txt Byungchul Park
2017-11-11 13:45 ` Byungchul Park
2017-11-16 0:04 ` Byungchul Park
2017-11-16 7:22 ` Ingo Molnar
2017-11-16 7:36 ` Byungchul Park
2017-12-04 0:15 ` Byungchul Park
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1510406792-28676-2-git-send-email-byungchul.park@lge.com \
--to=byungchul.park@lge.com \
--cc=kernel-team@lge.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).