[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <46BB2AA3.76E4.0078.0@novell.com>
Date: Thu, 09 Aug 2007 13:54:27 +0100
From: "Jan Beulich" <jbeulich@...ell.com>
To: "Andi Kleen" <ak@...e.de>
Cc: <linux-kernel@...r.kernel.org>, <patches@...-64.org>
Subject: Re: [patches] [PATCH] [4/12] x86_64: Disable CLFLUSH support
again
The 64-bit conditional seems wrong to me, I'd assume you mean
if (1 || !cpu_has_clflush)
Jan
>>> Andi Kleen <ak@...e.de> 09.08.07 14:41 >>>
It turns out CLFLUSH support is still not complete; we
flush the wrong pages. Again disable it for the release.
Noticed by Jan Beulich.
Signed-off-by: Andi Kleen <ak@...e.de>
---
arch/i386/mm/pageattr.c | 2 +-
arch/x86_64/mm/pageattr.c | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
Index: linux/arch/i386/mm/pageattr.c
===================================================================
--- linux.orig/arch/i386/mm/pageattr.c
+++ linux/arch/i386/mm/pageattr.c
@@ -82,7 +82,7 @@ static void flush_kernel_map(void *arg)
struct page *p;
/* High level code is not ready for clflush yet */
- if (cpu_has_clflush) {
+ if (0 && cpu_has_clflush) {
list_for_each_entry (p, lh, lru)
cache_flush_page(p);
} else if (boot_cpu_data.x86_model >= 4)
Index: linux/arch/x86_64/mm/pageattr.c
===================================================================
--- linux.orig/arch/x86_64/mm/pageattr.c
+++ linux/arch/x86_64/mm/pageattr.c
@@ -75,7 +75,8 @@ static void flush_kernel_map(void *arg)
/* When clflush is available always use it because it is
much cheaper than WBINVD. */
- if (!cpu_has_clflush)
+ /* clflush is still broken. Disable for now. */
+ if (0 && !cpu_has_clflush)
asm volatile("wbinvd" ::: "memory");
else list_for_each_entry(pg, l, lru) {
void *adr = page_address(pg);
_______________________________________________
patches mailing list
patches@...-64.org
https://www.x86-64.org/mailman/listinfo/patches
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists