Re: [PATCH] kmemcheck: disable fast string operations on P4 CPUs

From: Pekka Enberg
Date: Sat Feb 21 2009 - 11:25:36 EST


Vegard Nossum wrote:
This patch may allow us to remove the REP emulation code from
kmemcheck.

Signed-off-by: Vegard Nossum <vegard.nossum@xxxxxxxxx>

Looks good to me!

Acked-by: Pekka Enberg <penberg@xxxxxxxxxxxxxx>

+#ifdef CONFIG_KMEMCHECK
+ /*
+ * P4s have a "fast strings" feature which causes single-
+ * stepping REP instructions to only generate a #DB on
+ * cache-line boundaries.
+ *
+ * Ingo Molnar reported a Pentium D (model 6) and a Xeon
+ * (model 2) with the same problem.
+ */

Minor nit: I'd move the latter part of the comment to the changelog.

+ if (c->x86 == 15) {
+ u64 misc_enable;
+
+ rdmsrl(MSR_IA32_MISC_ENABLE, misc_enable);
+
+ if (misc_enable & MSR_IA32_MISC_ENABLE_FAST_STRING) {
+ printk(KERN_INFO "kmemcheck: Disabling fast string operations\n");
+
+ misc_enable &= ~MSR_IA32_MISC_ENABLE_FAST_STRING;
+ wrmsrl(MSR_IA32_MISC_ENABLE, misc_enable);
+ }
+ }
+#endif
}
#ifdef CONFIG_X86_32

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/