• Tejun Heo's avatar
    wait: kill is_sync_wait() · a25d644f
    Tejun Heo authored
    is_sync_wait() is used to distinguish between sync and async waits.
    Basically sync waits are the ones initialized with init_waitqueue_entry()
    and async ones with init_waitqueue_func_entry().  The sync/async
    distinction is used only in prepare_to_wait[_exclusive]() and its only
    function is to skip setting the current task state if the wait is async.
    This has a few problems.
    
    * No one uses it.  None of func_entry users use prepare_to_wait()
      functions, so the code path never gets executed.
    
    * The distinction is bogus.  Maybe back when func_entry is used only
      by aio but it's now also used by epoll and in future possibly by 9p
      and poll/select.
    
    * Taking @state as argument and ignoring it silenly depending on how
      @wait is initialized is just a bad error-prone API.
    
    * It prevents func_entry waits from using wait->private for no good
      reason.
    
    This patch kills is_sync_wait() and the associated code paths from
    prepare_to_wait[_exclusive]().  As there was no user of these code paths,
    this patch doesn't cause any behavior difference.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Acked-by: default avatarIngo Molnar <mingo@elte.hu>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    a25d644f
wait.h 15.2 KB