mirror of
https://github.com/torvalds/linux.git
synced 2026-10-23 15:32:04 +02: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@infradead.org>
This commit is contained in:
parent
3867913c45
commit
222993395e
|
|
@ -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) { }
|
static inline void compat_exit_robust_list(struct task_struct *curr) { }
|
||||||
#endif
|
#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.
|
* 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) */
|
smp_mb(); /* explicit smp_mb(); (B) */
|
||||||
break;
|
break;
|
||||||
case FUT_OFF_MMSHARED:
|
case FUT_OFF_MMSHARED:
|
||||||
futex_get_mm(key); /* implies smp_mb(); (B) */
|
smp_mb(); /* explicit smp_mb(); (B) */
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
/*
|
/*
|
||||||
|
|
@ -465,7 +454,6 @@ static void drop_futex_key_refs(union futex_key *key)
|
||||||
case FUT_OFF_INODE:
|
case FUT_OFF_INODE:
|
||||||
break;
|
break;
|
||||||
case FUT_OFF_MMSHARED:
|
case FUT_OFF_MMSHARED:
|
||||||
mmdrop(key->private.mm);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user