[PATCH 0/2] Per-task wait_queue_t

Rasmus Villemoes
2014-06-10T12:31:07Z

This is an attempt to reduce the stack footprint of various functions
(those using any of the wait_event_* macros), by removing the need to
allocate a wait_queue_t on the stack and instead use a single instance
embedded in task_struct. I'm not really sure where the best place to
put it is; I just placed it next to other list bookkeeping fields.

For now, there is a little unconditional debugging. This could later
be removed or maybe be made dependent on some CONFIG_* variable. The
idea of using ->flags is taken from Pavel [1] (I originally stored
(void*)1 into ->private).

Compiles, but not actually tested.

[1] http://thread.gmane.org/gmane.linux.kernel/1720670

Rasmus Villemoes (2):
wait: Introduce per-task wait_queue_t
wait: Use the per-task wait_queue_t in ___wait_event macro

include/linux/sched.h | 23 +++++++++++++++++++++++
include/linux/wait.h | 18 ++++++++++--------
kernel/fork.c | 1 +
3 files changed, 34 insertions(+), 8 deletions(-)

--
1.9.2