lkml.org 
[lkml]   [2003]   [Feb]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH][2.5] replace flush_map() in arch/i386/mm/pageattr.c with flush_tlb_all()
Date
This patch replaces the flush_map() function in the arch/i386/mm/pageattr.c file with flush_tlb_all() calls, as the flush_map() function wants to do the same, but just forgot the preempt_disable() and preempt_enable() calls.

To minimize future inconsistency I think this patch should be applied...

Best regards
Thomas Schlichter
--- linux-2.5.62/arch/i386/mm/pageattr.c.orig Wed Feb 19 16:44:56 2003
+++ linux-2.5.62/arch/i386/mm/pageattr.c Wed Feb 19 16:46:11 2003
@@ -45,17 +45,6 @@
return base;
}

-static void flush_kernel_map(void *dummy)
-{
- /* Could use CLFLUSH here if the CPU supports it (Hammer,P4) */
- if (boot_cpu_data.x86_model >= 4)
- asm volatile("wbinvd":::"memory");
- /* Flush all to work around Errata in early athlons regarding
- * large page flushing.
- */
- __flush_tlb_all();
-}
-
static void set_pmd_pte(pte_t *kpte, unsigned long address, pte_t pte)
{
set_pte_atomic(kpte, pte); /* change init_mm */
@@ -129,14 +118,6 @@
return 0;
}

-static inline void flush_map(void)
-{
-#ifdef CONFIG_SMP
- smp_call_function(flush_kernel_map, NULL, 1, 1);
-#endif
- flush_kernel_map(NULL);
-}
-
struct deferred_page {
struct deferred_page *next;
struct page *fpage;
@@ -172,7 +153,7 @@
struct deferred_page *df;
df = kmalloc(sizeof(struct deferred_page), GFP_KERNEL);
if (!df) {
- flush_map();
+ flush_tlb_all();
__free_page(fpage);
} else {
df->next = df_list;
@@ -192,7 +173,7 @@
down_read(&init_mm.mmap_sem);
df = xchg(&df_list, NULL);
up_read(&init_mm.mmap_sem);
- flush_map();
+ flush_tlb_all();
for (; df; df = next_df) {
next_df = df->next;
if (df->fpage) [unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2005-03-22 13:33    [W:0.046 / U:0.380 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site