SCHED: add some "wait..on_bit...timeout()" interfaces.
authorNeilBrown <neilb@suse.de>
Thu, 25 Sep 2014 03:55:19 +0000 (13:55 +1000)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Thu, 25 Sep 2014 12:23:57 +0000 (08:23 -0400)
commitcbbce82209490df8b68da9aec0d642451fe0a668
tree0c8d643c6bc34332c8b00300a6440f87701039c3
parente87b4c7a7ac6d895846570dec637744cf7050df3
SCHED: add some "wait..on_bit...timeout()" interfaces.

In commit c1221321b7c25b53204447cff9949a6d5a7ddddc
   sched: Allow wait_on_bit_action() functions to support a timeout

I suggested that a "wait_on_bit_timeout()" interface would not meet my
need.  This isn't true - I was just over-engineering.

Including a 'private' field in wait_bit_key instead of a focused
"timeout" field was just premature generalization.  If some other
use is ever found, it can be generalized or added later.

So this patch renames "private" to "timeout" with a meaning "stop
waiting when "jiffies" reaches or passes "timeout",
and adds two of the many possible wait..bit..timeout() interfaces:

wait_on_page_bit_killable_timeout(), which is the one I want to use,
and out_of_line_wait_on_bit_timeout() which is a reasonably general
example.  Others can be added as needed.

Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: NeilBrown <neilb@suse.de>
Acked-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
include/linux/pagemap.h
include/linux/wait.h
kernel/sched/wait.c
mm/filemap.c