sparc: tsb must be flushed before tlb
PATCH 1/1 sparc: tsb must be flushed before tlb
This fixes a race where a cpu may re-load a tlb from a stale tsb right after it has been flushed by a remote function call.
I still see some instability when stressing the system with parallel kernel builds while creating memory pressure by writing to /proc/sys/vm/nr_hugepages, but this patch improves the stability significantly.
--- arch/sparc/mm/tlb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/sparc/mm/tlb.c +1 -1
@@ -85,8 +85,8 @@ static void tlb_batch_add_one(struct mm_struct *mm, unsigned long vaddr, }if (!tb->active) { -global_flush_tlb_page (mm, vaddr);flush_tsb_user_page (mm, vaddr); +global_flush_tlb_page (mm, vaddr); goto out; }
Signature · 1 line
1.8.3.1
David Miller
maintainerFrom: Dave Kleikamp <[email protected]>
Date: Tue, 18 Jun 2013 09:05:36 -0500
Quoted 10 lines
This fixes a race where a cpu may re-load a tlb from a stale tsb right after it has been flushed by a remote function call.
I still see some instability when stressing the system with parallel kernel builds while creating memory pressure by writing to
/proc/sys/vm/nr_hugepages, but this patch improves the stability significantly.Signed-off-by Dave Kleikamp <[email protected]>Acked-by Bob Picco <[email protected]>
Applied and queued up for -stable, thanks.