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>
This commit is contained in:
Martin Schwidefsky 2015-02-19 17:53:16 +01:00
parent 4ba2815d3b
commit 61b0b01686

View File

@ -393,17 +393,19 @@ static __init void detect_machine_facilities(void)
S390_lowcore.machine_flags |= MACHINE_FLAG_TLB_LC; S390_lowcore.machine_flags |= MACHINE_FLAG_TLB_LC;
if (test_facility(129)) if (test_facility(129))
S390_lowcore.machine_flags |= MACHINE_FLAG_VX; S390_lowcore.machine_flags |= MACHINE_FLAG_VX;
if (test_facility(128))
S390_lowcore.machine_flags |= MACHINE_FLAG_CAD;
#endif #endif
} }
static int __init nocad_setup(char *str) static int __init cad_setup(char *str)
{ {
S390_lowcore.machine_flags &= ~MACHINE_FLAG_CAD; int val;
get_option(&str, &val);
if (val && test_facility(128))
S390_lowcore.machine_flags |= MACHINE_FLAG_CAD;
return 0; return 0;
} }
early_param("nocad", nocad_setup); early_param("cad", cad_setup);
static int __init cad_init(void) static int __init cad_init(void)
{ {