From e69d03777e11fb540f5e96205a6f4f8c8ad551c2 Mon Sep 17 00:00:00 2001 From: Jeremy Fitzhardinge Date: Tue, 8 Jul 2008 15:06:40 -0700 Subject: [PATCH] --- yaml --- r: 104412 b: refs/heads/master c: ce87b3d326de733c72b47662f106ee6cd699a20f h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/x86/xen/mmu.c | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index b9679bbf09f6..d660333adfa2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f5d36de069f4b343f64e858e7377cfc9c772c4fb +refs/heads/master: ce87b3d326de733c72b47662f106ee6cd699a20f diff --git a/trunk/arch/x86/xen/mmu.c b/trunk/arch/x86/xen/mmu.c index d0976b87cd2c..2579e70cdd08 100644 --- a/trunk/arch/x86/xen/mmu.c +++ b/trunk/arch/x86/xen/mmu.c @@ -805,8 +805,15 @@ void xen_dup_mmap(struct mm_struct *oldmm, struct mm_struct *mm) static void drop_other_mm_ref(void *info) { struct mm_struct *mm = info; + struct mm_struct *active_mm; - if (__get_cpu_var(cpu_tlbstate).active_mm == mm) +#ifdef CONFIG_X86_64 + active_mm = read_pda(active_mm); +#else + active_mm = __get_cpu_var(cpu_tlbstate).active_mm; +#endif + + if (active_mm == mm) leave_mm(smp_processor_id()); /* If this cpu still has a stale cr3 reference, then make sure