Possibly stupid question: Is it true that any given task can only be using one wait_queue_t at a time? If so, would it be an idea to put a wait_queue_t into struct task_struct [maybe union'ed with a struct wait_bit_queue] and avoid allocating this 40 byte structure repeatedly on the stack. E.g., in one of Minchan's stack traces, there are two calls of mempool_alloc (which itself declares a wait_queue_t) and one try_to_free_pages (which is the only caller of throttle_direct_reclaim, which in turn uses wait_event_interruptible_timeout and wait_event_killable). Rasmus -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>