sparc: tsb must be flushed before tlb
authorDave Kleikamp <dave.kleikamp@oracle.com>
Tue, 18 Jun 2013 14:05:36 +0000 (09:05 -0500)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 2 Aug 2013 20:14:51 +0000 (22:14 +0200)
commit2f92512982ce9672ec70838ac7f2eea4fdb1d534
tree3fc106737c98ba2a1f283cb188fc94de22487e3c
parent5d231ecea4c70ae9fc9f44a0fd8ea593e7e98986
sparc: tsb must be flushed before tlb

commit 23a01138efe216f8084cfaa74b0b90dd4b097441 upstream.

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 <dave.kleikamp@oracle.com>
Acked-by: Bob Picco <bob.picco@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
arch/sparc/mm/tlb.c