diff options
author | Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> | 2009-02-18 02:05:19 -0500 |
---|---|---|
committer | Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> | 2009-03-30 02:35:38 -0400 |
commit | b8bcfe997e46150fedcc3f5b26b846400122fdd9 (patch) | |
tree | 435f1bdfa3317e13ddcd3b87176602b597639c1b /arch/x86/mm/pageattr.c | |
parent | a8a93f3f03b7a8008d720e8d91798efe599d416c (diff) |
x86/paravirt: remove lazy mode in interrupts
Impact: simplification, robustness
Make paravirt_lazy_mode() always return PARAVIRT_LAZY_NONE
when in an interrupt. This prevents interrupt code from
accidentally inheriting an outer lazy state, and instead
does everything synchronously. Outer batched operations
are left deferred.
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/mm/pageattr.c')
-rw-r--r-- | arch/x86/mm/pageattr.c | 14 |
1 files changed, 0 insertions, 14 deletions
diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c index 9c4294986af7..9015e5e412b5 100644 --- a/arch/x86/mm/pageattr.c +++ b/arch/x86/mm/pageattr.c | |||
@@ -824,13 +824,6 @@ static int change_page_attr_set_clr(unsigned long *addr, int numpages, | |||
824 | 824 | ||
825 | vm_unmap_aliases(); | 825 | vm_unmap_aliases(); |
826 | 826 | ||
827 | /* | ||
828 | * If we're called with lazy mmu updates enabled, the | ||
829 | * in-memory pte state may be stale. Flush pending updates to | ||
830 | * bring them up to date. | ||
831 | */ | ||
832 | arch_flush_lazy_mmu_mode(); | ||
833 | |||
834 | cpa.vaddr = addr; | 827 | cpa.vaddr = addr; |
835 | cpa.numpages = numpages; | 828 | cpa.numpages = numpages; |
836 | cpa.mask_set = mask_set; | 829 | cpa.mask_set = mask_set; |
@@ -873,13 +866,6 @@ static int change_page_attr_set_clr(unsigned long *addr, int numpages, | |||
873 | } else | 866 | } else |
874 | cpa_flush_all(cache); | 867 | cpa_flush_all(cache); |
875 | 868 | ||
876 | /* | ||
877 | * If we've been called with lazy mmu updates enabled, then | ||
878 | * make sure that everything gets flushed out before we | ||
879 | * return. | ||
880 | */ | ||
881 | arch_flush_lazy_mmu_mode(); | ||
882 | |||
883 | out: | 869 | out: |
884 | return ret; | 870 | return ret; |
885 | } | 871 | } |