• Kirill Tkhai's avatar
    locking/arch, x86: Add __down_read_killable() · 19c60923
    Kirill Tkhai authored
    Similar to __down_write_killable(), add read killable primitive:
    extract current __down_read() code to macros and teach it to get
    different functions as slow_path argument:
    store ax register to ret, and add sp register and preserve its value.
    
    Add call_rwsem_down_read_failed_killable() assembly entry similar
    to call_rwsem_down_read_failed():
    push dx register to stack in additional to common registers,
    as it's not declarated as modifiable in ____down_read().
    Signed-off-by: default avatarKirill Tkhai <ktkhai@virtuozzo.com>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: arnd@arndb.de
    Cc: avagin@virtuozzo.com
    Cc: davem@davemloft.net
    Cc: fenghua.yu@intel.com
    Cc: gorcunov@virtuozzo.com
    Cc: heiko.carstens@de.ibm.com
    Cc: hpa@zytor.com
    Cc: ink@jurassic.park.msu.ru
    Cc: mattst88@gmail.com
    Cc: rientjes@google.com
    Cc: rth@twiddle.net
    Cc: schwidefsky@de.ibm.com
    Cc: tony.luck@intel.com
    Cc: viro@zeniv.linux.org.uk
    Link: http://lkml.kernel.org/r/150670118802.23930.1316107715255410256.stgit@localhost.localdomainSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    19c60923
rwsem.S 3.66 KB