s390/jump_label: replace stop_machine with smp_call_function
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 17 May 2019 10:50:43 +0000 (12:50 +0200)
committerHeiko Carstens <heiko.carstens@de.ibm.com>
Tue, 4 Jun 2019 13:03:12 +0000 (15:03 +0200)
commita646ef398e72a2ac40bea974808ffcf1bea4e7f4
tree6799167289a134b5c6f7c3d4cf4e1e52165f46b4
parentf2c7c76c5d0a443053e94adb9f0918fa2fb85c3a
s390/jump_label: replace stop_machine with smp_call_function

The use of stop_machine to replace the mask bits of the jump label branch
is a very heavy-weight operation. This is in fact not necessary, the
mask of the branch can simply be updated, followed by a signal processor
to all the other CPUs to force them to pick up the modified instruction.

Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
[heiko.carstens@de.ibm.com]: Change jump_label_make_nop() so we get
                             brcl 0,offset instead of brcl 0,0. This
                             makes sure that only the mask part of the
                             instruction gets changed when updated.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
arch/s390/kernel/jump_label.c
arch/s390/mm/maccess.c