diff options
author | Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> | 2009-02-18 02:53:19 -0500 |
---|---|---|
committer | Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> | 2009-03-30 02:36:02 -0400 |
commit | 2829b449276aed45f3d649efb21e3418e39dd5d1 (patch) | |
tree | eb16821bc9ad330f8c2f289510603ca528feaeae /arch/x86/xen | |
parent | 224101ed69d3fbb486868e0f6e0f9fa37302efb4 (diff) |
x86/paravirt: allow preemption with lazy mmu mode
Impact: remove obsolete checks, simplification
Lift restrictions on preemption with lazy mmu mode, as it is now allowed.
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Diffstat (limited to 'arch/x86/xen')
-rw-r--r-- | arch/x86/xen/mmu.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c index f5f8faa4f76c..3f2d0fe5e6a8 100644 --- a/arch/x86/xen/mmu.c +++ b/arch/x86/xen/mmu.c | |||
@@ -419,10 +419,6 @@ void set_pte_mfn(unsigned long vaddr, unsigned long mfn, pgprot_t flags) | |||
419 | void xen_set_pte_at(struct mm_struct *mm, unsigned long addr, | 419 | void xen_set_pte_at(struct mm_struct *mm, unsigned long addr, |
420 | pte_t *ptep, pte_t pteval) | 420 | pte_t *ptep, pte_t pteval) |
421 | { | 421 | { |
422 | /* updates to init_mm may be done without lock */ | ||
423 | if (mm == &init_mm) | ||
424 | preempt_disable(); | ||
425 | |||
426 | ADD_STATS(set_pte_at, 1); | 422 | ADD_STATS(set_pte_at, 1); |
427 | // ADD_STATS(set_pte_at_pinned, xen_page_pinned(ptep)); | 423 | // ADD_STATS(set_pte_at_pinned, xen_page_pinned(ptep)); |
428 | ADD_STATS(set_pte_at_current, mm == current->mm); | 424 | ADD_STATS(set_pte_at_current, mm == current->mm); |
@@ -443,9 +439,7 @@ void xen_set_pte_at(struct mm_struct *mm, unsigned long addr, | |||
443 | } | 439 | } |
444 | xen_set_pte(ptep, pteval); | 440 | xen_set_pte(ptep, pteval); |
445 | 441 | ||
446 | out: | 442 | out: return; |
447 | if (mm == &init_mm) | ||
448 | preempt_enable(); | ||
449 | } | 443 | } |
450 | 444 | ||
451 | pte_t xen_ptep_modify_prot_start(struct mm_struct *mm, | 445 | pte_t xen_ptep_modify_prot_start(struct mm_struct *mm, |