From: David Mosberger-Tang Date: Tue, 26 Jul 2005 05:23:00 +0000 (-0700) Subject: [IA64] Fix race in mm-context wrap-around logic. X-Git-Tag: v2.6.14-rc1~1019^2~13^2 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=badea125d7cbd93f1678a95cf009b3bdfe6065cd;p=pandora-kernel.git [IA64] Fix race in mm-context wrap-around logic. The patch below should fix a race which could cause stale TLB entries. Specifically, when 2 CPUs ended up racing for entrance to wrap_mmu_context(). The losing CPU would find that by the time it acquired ctx.lock, mm->context already had a valid value, but then it failed to (re-)check the delayed TLB flushing logic and hence could end up using a context number when there were still stale entries in its TLB. The fix is to check for delayed TLB flushes only after mm->context is valid (non-zero). The patch also makes GCC v4.x happier by defining a non-volatile variant of mm_context_t called nv_mm_context_t. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck --- Reading git-diff-tree failed