]> 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)
commit056bc770a65f0028098ae91aeb16ed9ac5cc81f7
tree238e1b770590a25cc218e4437ea574278e4db246
parentda550e177bbc7a163c152948f546c6fe86ea99f1
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