2007-05-15 18:51:35

by Hugh Dickins

[permalink] [raw]
Subject: [PATCH] i386: don't check_pgt_cache in flush_tlb_mm

No other architecture calls check_pgt_cache() from within flush_tlb_mm(),
and i386 is already calling check_pgt_cache() from the usual places,
tlb_finish_mmu() and cpu_idle() (the latter being odd, but not unusual).
flush_tlb_mm() has no business to be freeing pages: remove that line,
which sneaked in with slub's i386 support.

Signed-off-by: Hugh Dickins <[email protected]>
---
arch/i386/kernel/smp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- 2.6.22-rc1/arch/i386/kernel/smp.c 2007-05-13 05:40:51.000000000 +0100
+++ linux/arch/i386/kernel/smp.c 2007-05-15 17:49:48.000000000 +0100
@@ -421,7 +421,7 @@ void flush_tlb_mm (struct mm_struct * mm
}
if (!cpus_empty(cpu_mask))
flush_tlb_others(cpu_mask, mm, TLB_FLUSH_ALL);
- check_pgt_cache();
+
preempt_enable();
}


2007-05-15 18:59:53

by William Lee Irwin III

[permalink] [raw]
Subject: Re: [PATCH] i386: don't check_pgt_cache in flush_tlb_mm

On Tue, May 15, 2007 at 07:51:05PM +0100, Hugh Dickins wrote:
> No other architecture calls check_pgt_cache() from within flush_tlb_mm(),
> and i386 is already calling check_pgt_cache() from the usual places,
> tlb_finish_mmu() and cpu_idle() (the latter being odd, but not unusual).
> flush_tlb_mm() has no business to be freeing pages: remove that line,
> which sneaked in with slub's i386 support.
> Signed-off-by: Hugh Dickins <[email protected]>

Acked-by: William Irwin <[email protected]>


-- wli