[<prev] [next>] [day] [month] [year] [list]
Message-ID: <158349114388.28353.18369702179782748736.tip-bot2@tip-bot2>
Date: Fri, 06 Mar 2020 10:39:03 -0000
From: "tip-bot2 for Peter Zijlstra" <tip-bot2@...utronix.de>
To: linux-tip-commits@...r.kernel.org
Cc: "Peter Zijlstra (Intel)" <peterz@...radead.org>,
x86 <x86@...nel.org>, LKML <linux-kernel@...r.kernel.org>
Subject: [tip: locking/core] futex: Remove pointless mmgrap() + mmdrop()
The following commit has been merged into the locking/core branch of tip:
Commit-ID: 222993395ed38f3751287f4bd82ef46b3eb3a66d
Gitweb: https://git.kernel.org/tip/222993395ed38f3751287f4bd82ef46b3eb3a66d
Author: Peter Zijlstra <peterz@...radead.org>
AuthorDate: Wed, 04 Mar 2020 13:02:41 +01:00
Committer: Peter Zijlstra <peterz@...radead.org>
CommitterDate: Fri, 06 Mar 2020 11:06:18 +01:00
futex: Remove pointless mmgrap() + mmdrop()
We always set 'key->private.mm' to 'current->mm', getting an extra
reference on 'current->mm' is quite pointless, because as long as the
task is blocked it isn't going to go away.
Signed-off-by: Peter Zijlstra (Intel) <peterz@...radead.org>
---
kernel/futex.c | 14 +-------------
1 file changed, 1 insertion(+), 13 deletions(-)
diff --git a/kernel/futex.c b/kernel/futex.c
index e14f7cd..3463c91 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -331,17 +331,6 @@ static void compat_exit_robust_list(struct task_struct *curr);
static inline void compat_exit_robust_list(struct task_struct *curr) { }
#endif
-static inline void futex_get_mm(union futex_key *key)
-{
- mmgrab(key->private.mm);
- /*
- * Ensure futex_get_mm() implies a full barrier such that
- * get_futex_key() implies a full barrier. This is relied upon
- * as smp_mb(); (B), see the ordering comment above.
- */
- smp_mb__after_atomic();
-}
-
/*
* Reflects a new waiter being added to the waitqueue.
*/
@@ -432,7 +421,7 @@ static void get_futex_key_refs(union futex_key *key)
smp_mb(); /* explicit smp_mb(); (B) */
break;
case FUT_OFF_MMSHARED:
- futex_get_mm(key); /* implies smp_mb(); (B) */
+ smp_mb(); /* explicit smp_mb(); (B) */
break;
default:
/*
@@ -465,7 +454,6 @@ static void drop_futex_key_refs(union futex_key *key)
case FUT_OFF_INODE:
break;
case FUT_OFF_MMSHARED:
- mmdrop(key->private.mm);
break;
}
}
Powered by blists - more mailing lists