A set of locking related fixes and updates:

  - Two fixes for the futex syscall related to the timeout handling.

    FUTEX_LOCK_PI does not support the FUTEX_CLOCK_REALTIME bit and because
    it's not set the time namespace adjustment for clock MONOTONIC is
    applied wrongly.

    FUTEX_WAIT cannot support the FUTEX_CLOCK_REALTIME bit because its
    always a relative timeout.

  - Cleanups in the futex syscall entry points which became obvious when
    the two timeout handling bugs were fixed.

  - Cleanup of queued_write_lock_slowpath() as suggested by Linus

  - Fixup of the smp_call_function_single_async() prototype