2005-10-31 03:47:48

by Jeff Dike

[permalink] [raw]
Subject: [PATCH 7/10] UML - switch_mm fix

From: Ben Lahaise <[email protected]>
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).

-ben

Signed-off-by: Benjamin LaHaise <[email protected]>
Signed-off-by: Jeff Dike <[email protected]>

Index: linux-2.6.13-mm1/include/asm-um/mmu_context.h
===================================================================
--- linux-2.6.13-mm1.orig/include/asm-um/mmu_context.h 2005-09-01 16:03:21.000000000 -0400
+++ linux-2.6.13-mm1/include/asm-um/mmu_context.h 2005-09-07 12:21:22.000000000 -0400
@@ -29,7 +29,8 @@
* 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,