xen64: get active_mm from the pda
x86_64 stores the active_mm in the pda, so fetch it from there. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Cc: Stephen Tweedie <sct@redhat.com> Cc: Eduardo Habkost <ehabkost@redhat.com> Cc: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
committed by
Ingo Molnar
parent
f5d36de069
commit
ce87b3d326
@@ -805,8 +805,15 @@ void xen_dup_mmap(struct mm_struct *oldmm, struct mm_struct *mm)
|
|||||||
static void drop_other_mm_ref(void *info)
|
static void drop_other_mm_ref(void *info)
|
||||||
{
|
{
|
||||||
struct mm_struct *mm = 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());
|
leave_mm(smp_processor_id());
|
||||||
|
|
||||||
/* If this cpu still has a stale cr3 reference, then make sure
|
/* If this cpu still has a stale cr3 reference, then make sure
|
||||||
|
Reference in New Issue
Block a user