]> git.baikalelectronics.ru Git - kernel.git/commit
s390: remove last diag 0x44 caller
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Fri, 29 Nov 2019 11:59:59 +0000 (12:59 +0100)
committerVasily Gorbik <gor@linux.ibm.com>
Wed, 11 Dec 2019 18:53:24 +0000 (19:53 +0100)
commitff9811b4a81e97af7342c83e48a567a331d739ed
tree238e1b770590a25cc218e4437ea574278e4db246
parent873a805fd38da67813fc66af4bbc81c50fbcb08f
s390: remove last diag 0x44 caller

diag 0x44 is a voluntary undirected yield of a virtual CPU. This has
caused a lot of performance issues in the past.

There is only one caller left, and that one is only executed if diag
0x9c (directed yield) is not present. Given that all hypervisors
implement diag 0x9c anyway, remove the last diag 0x44 to avoid that
more callers will be added.

Worst case that could happen now, if diag 0x9c is not present, is that
a virtual CPU would loop a bit instead of giving its time slice up.

diag 0x44 statistics in debugfs are kept and will always be zero, so
that user space can tell that there are no calls.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/include/asm/setup.h
arch/s390/kernel/early.c
arch/s390/kernel/smp.c