diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2015-02-19 11:53:16 -0500 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2015-02-19 12:05:38 -0500 |
commit | 61b0b01686d482205db14987826e1a11dd17d65c (patch) | |
tree | 6231308c7dbff1ad58e66de14ff5872d61d3577d | |
parent | 4ba2815d3bf38d6a959d2d11b08cf862550dcfcc (diff) |
s390/spinlock: disabled compare-and-delay by default
Until we have hard performance data about the effects of CAD in the
spinlock loop disable the instruction by default.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
-rw-r--r-- | arch/s390/kernel/early.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/arch/s390/kernel/early.c b/arch/s390/kernel/early.c index 70a329450901..4427ab7ac23a 100644 --- a/arch/s390/kernel/early.c +++ b/arch/s390/kernel/early.c | |||
@@ -393,17 +393,19 @@ static __init void detect_machine_facilities(void) | |||
393 | S390_lowcore.machine_flags |= MACHINE_FLAG_TLB_LC; | 393 | S390_lowcore.machine_flags |= MACHINE_FLAG_TLB_LC; |
394 | if (test_facility(129)) | 394 | if (test_facility(129)) |
395 | S390_lowcore.machine_flags |= MACHINE_FLAG_VX; | 395 | S390_lowcore.machine_flags |= MACHINE_FLAG_VX; |
396 | if (test_facility(128)) | ||
397 | S390_lowcore.machine_flags |= MACHINE_FLAG_CAD; | ||
398 | #endif | 396 | #endif |
399 | } | 397 | } |
400 | 398 | ||
401 | static int __init nocad_setup(char *str) | 399 | static int __init cad_setup(char *str) |
402 | { | 400 | { |
403 | S390_lowcore.machine_flags &= ~MACHINE_FLAG_CAD; | 401 | int val; |
402 | |||
403 | get_option(&str, &val); | ||
404 | if (val && test_facility(128)) | ||
405 | S390_lowcore.machine_flags |= MACHINE_FLAG_CAD; | ||
404 | return 0; | 406 | return 0; |
405 | } | 407 | } |
406 | early_param("nocad", nocad_setup); | 408 | early_param("cad", cad_setup); |
407 | 409 | ||
408 | static int __init cad_init(void) | 410 | static int __init cad_init(void) |
409 | { | 411 | { |