While poking at the cpu hotplug implementation I had a desire to use wait_event() with schedule_preempt_disabled() and found the ridiculous amount of duplication in linux/wait.h.
These patches cure all the bloat and inconsistencies of these macros that me and others noticed, while also making it 'trivial' to generate new variants. Compile and boot tested on x86_64. Changes since -v4: - split up the big collapse patch into 11 separate patches Changes since -v3: - added LKML to the CC (D'0h!!) - introduced ___wait_cond_timeout() to avoid double evaluation of 'condition' Changes since -v2: - removed ___wait_cmd_lock_irq(), ___wait_cmd_lock_irq_timo() - renamed ___wait_cmd_test_timeout() to ___wait_test_timeout() - renamed ___wait_cmd_schedule_timeout() to ___wait_sched_timeout() - fixed schedule_timeout() invocations in patch 6; don't restart a schedule_timeout() at the total timeout; rather continue where we left off for a total fixed timeout. - use 'long' return type for ___wait_event() so that timeout values for schedule_timeout() fit. - fix wait_event_interruptible_lock_irq_timeout() and use long return type. --- arch/mips/kernel/rtlx.c | 19 +- include/linux/tty.h | 28 +--- include/linux/wait.h | 268 +++++++++++++--------------------------- net/irda/af_irda.c | 5 net/netfilter/ipvs/ip_vs_sync.c | 7 - 5 files changed, 108 insertions(+), 219 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/