]> git.baikalelectronics.ru Git - kernel.git/commit
s390/uaccess: get rid of indirect function calls
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Thu, 23 Jan 2014 10:18:36 +0000 (11:18 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 21 Feb 2014 07:50:14 +0000 (08:50 +0100)
commit340033f1f8e7b8d56dd6b419a5b24c5023382b6e
tree5845eccdb038c5e1bc90a0aaf8919f2a65fa8096
parent989f12551663018687857b5c8e9f1bac07374fd6
s390/uaccess: get rid of indirect function calls

There are only two uaccess variants on s390 left: the version that is used
if the mvcos instruction is available, and the page table walk variant.
So there is no need for expensive indirect function calls.

By default the mvcos variant will be called. If the mvcos instruction is not
available it will call the page table walk variant.

For minimal performance impact the "if (mvcos_is_available)" is implemented
with a jump label, which will be a six byte nop on machines with mvcos.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/futex.h
arch/s390/include/asm/uaccess.h
arch/s390/kernel/setup.c
arch/s390/lib/Makefile
arch/s390/lib/uaccess.h
arch/s390/lib/uaccess_mvcos.c
arch/s390/lib/uaccess_pt.c