History

futex: Allow for compiling out PI support

This makes it possible to preserve basic futex support and compile out the PI support when RT mutexes are not available.

Nicolas Pitre committed 9 years ago

Commit bc2eecd1 parent f06e8c54 files · +63 −2Browse files

Showing the changes to kernel/locking (1 of 4 files). Show all

Unified · Split

kernel/locking/rtmutex_common.h+29−0
@@ -40,6 +40,9 @@ struct rt_mutex_waiter { · 39 unmodified lines
40/*40/*
41 * Various helpers to access the waiters-tree:41 * Various helpers to access the waiters-tree:
42 */42 */
43
44#ifdef CONFIG_RT_MUTEXES
45
43static inline int rt_mutex_has_waiters(struct rt_mutex *lock)46static inline int rt_mutex_has_waiters(struct rt_mutex *lock)
44{47{
45 return !RB_EMPTY_ROOT(&lock->waiters);48 return !RB_EMPTY_ROOT(&lock->waiters);
@@ -69,6 +72,32 @@ task_top_pi_waiter(struct task_struct *p) · 23 unmodified lines
69 pi_tree_entry);72 pi_tree_entry);
70}73}
71 74
75#else
76
77static inline int rt_mutex_has_waiters(struct rt_mutex *lock)
78{
79 return false;
80}
81
82static inline struct rt_mutex_waiter *
83rt_mutex_top_waiter(struct rt_mutex *lock)
84{
85 return NULL;
86}
87
88static inline int task_has_pi_waiters(struct task_struct *p)
89{
90 return false;
91}
92
93static inline struct rt_mutex_waiter *
94task_top_pi_waiter(struct task_struct *p)
95{
96 return NULL;
97}
98
99#endif
100
72/*101/*
73 * lock->owner state tracking:102 * lock->owner state tracking:
74 */103 */