History

futex: Add mutex around futex exit

The mutex will be used in subsequent changes to replace the busy looping of a waiter when the futex owner is currently executing the exit cleanup to prevent a potential live lock.

Thomas Gleixner committed 7 years ago

Commit 3f186d91 parent af8cbda3 files · +18 −0Browse files

Showing the changes to include/linux (2 of 3 files). Show all

Unified · Split

2 files
  1. include/linux/futex.h +1 −0
  2. include/linux/sched.h +1 −0
include/linux/futex.h+1−0
@@ -65,6 +65,7 @@ static inline void futex_init_task(struct task_struct *tsk) · 64 unmodified lines
65 INIT_LIST_HEAD(&tsk->pi_state_list);65 INIT_LIST_HEAD(&tsk->pi_state_list);
66 tsk->pi_state_cache = NULL;66 tsk->pi_state_cache = NULL;
67 tsk->futex_state = FUTEX_STATE_OK;67 tsk->futex_state = FUTEX_STATE_OK;
68 mutex_init(&tsk->futex_exit_mutex);
68}69}
69 70
70void futex_exit_recursive(struct task_struct *tsk);71void futex_exit_recursive(struct task_struct *tsk);
include/linux/sched.h+1−0
@@ -1053,6 +1053,7 @@ struct task_struct { · 1052 unmodified lines
1053#endif1053#endif
1054 struct list_head pi_state_list;1054 struct list_head pi_state_list;
1055 struct futex_pi_state *pi_state_cache;1055 struct futex_pi_state *pi_state_cache;
1056 struct mutex futex_exit_mutex;
1056 unsigned int futex_state;1057 unsigned int futex_state;
1057#endif1058#endif
1058#ifdef CONFIG_PERF_EVENTS1059#ifdef CONFIG_PERF_EVENTS

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t