Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 23a01138 authored by Dave Kleikamp's avatar Dave Kleikamp Committed by David S. Miller
Browse files

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.

Signed-off-by: default avatarDave Kleikamp <dave.kleikamp@oracle.com>
Acked-by: default avatarBob Picco <bob.picco@oracle.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f670758f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;
	}