[PATCH] uml: switch_mm fix
authorBen Lahaise <bcrl@linux.intel.com>
Mon, 7 Nov 2005 08:58:52 +0000 (00:58 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 7 Nov 2005 15:53:31 +0000 (07:53 -0800)
Not quite, something along the lines of the patch below works correctly (and
makes aio performance not suffer from multiple second delays), as skas0 mode
correctly switches mm contexts, unlike TT (which should probably get nuked
from the kernel now that skas0 seems to be working).

Signed-off-by: Benjamin LaHaise <bcrl@linux.intel.com>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
include/asm-um/mmu_context.h

index 2edb4f1f789cdb96e0208da409622db6f1eaa70b..9a0e48eb542e019d5e259f3972550649bb1e46a8 100644 (file)
@@ -29,7 +29,8 @@ static inline void activate_mm(struct mm_struct *old, struct mm_struct *new)
         * possible.
         */
        if (old != new && (current->flags & PF_BORROWED_MM))
-               force_flush_all();
+               CHOOSE_MODE(force_flush_all(),
+                           switch_mm_skas(&new->context.skas.id));
 }
 
 static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next,