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)
commit1b68ac8678a8e9993deebd55014cbe803e78ca02
tree238e1b770590a25cc218e4437ea574278e4db246
parent157309a97015d8b32d65847d8a6d493d1a958e93
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