linux/arch/x86
Suresh Siddha 5a3ae27605 x86, PAT: Remove duplicate memtype reserve in pci mmap
pci mmap code was doing memtype reserve for a while now. Recently we
added memtype tracking in remap_pfn_range, and pci code indirectly calls
remap_pfn_range. So, we don't need seperate tracking in pci code
anymore. Which means a patch that removes ~50 lines of code :-).

Also, recently we found out that the pci tracking is not working as we expect
it to work in some cases. Specifically, userlevel X mmap of pci, with some
recent version of X, is having a problem with vm_page_prot getting reset.
The pci tracking uses vm_page_prot to pass on the protection type from parent
to child during fork.
a) Parent does a pci mmap
b) We look at PAT and get either UC_MINUS or WC mapping for parent
c) Store that mapping type in vma vm_page_prot for future use
d) This thread does a fork
e) Fork results in mmap_ops ->open for the child process
f) We get the vm_page_prot from vma and reserve that type for the child process

But, between c) and e) above, the vma vm_page_prot is getting reset to zero.
This results in PAT reserve failing at the time of fork as in here.
http://marc.info/?l=linux-kernel&m=123858163103240&w=2

This cleanup makes the above problem go away as we do not depend on
vm_page_prot in our PAT code anymore.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-04-03 14:43:29 -07:00
..
boot x86, setup: guard against pre-ACPI 3 e820 code not updating %ecx 2009-04-01 11:35:00 -07:00
configs Merge branches 'x86/apic', 'x86/defconfig', 'x86/memtest', 'x86/mm' and 'linus' into x86/core 2009-02-26 06:31:32 +01:00
crypto crypto: aes-ni - Add support to Intel AES-NI instructions for x86_64 platform 2009-02-18 16:48:06 +08:00
ia32 preadv/pwritev: Add preadv and pwritev system calls. 2009-04-02 19:05:08 -07:00
include/asm Allow rwlocks to re-enable interrupts 2009-04-02 19:05:11 -07:00
kernel Merge git://git.infradead.org/iommu-2.6 2009-04-03 10:36:57 -07:00
kvm KVM: VMX: Don't allow uninhibited access to EFER on i386 2009-03-24 11:03:15 +02:00
lguest Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest-and-virtio 2009-03-30 17:57:39 -07:00
lib x86: memcpy, clean up 2009-03-12 12:21:17 +01:00
math-emu Merge branch 'core/percpu' into percpu-cpumask-x86-for-linus-2 2009-03-27 17:28:43 +01:00
mm mm: fix misuse of debug_kmap_atomic 2009-04-03 09:49:41 -07:00
oprofile x86: oprofile: don't set counter width from cpuid on Core2 2009-03-03 12:04:22 +01:00
pci x86, PAT: Remove duplicate memtype reserve in pci mmap 2009-04-03 14:43:29 -07:00
power pm: rework includes, remove arch ifdefs 2009-04-01 08:59:16 -07:00
vdso x86, mm: rename TASK_SIZE64 => TASK_SIZE_MAX 2009-02-21 00:09:44 +01:00
video
xen x86: with the last user gone, remove set_pte_present 2009-03-19 14:04:19 +01:00
Kconfig Merge git://git.infradead.org/iommu-2.6 2009-04-03 10:36:57 -07:00
Kconfig.cpu x86/centaur: merge 32 & 64 bit version 2009-03-14 16:27:29 +01:00
Kconfig.debug generic debug pagealloc: build fix 2009-04-02 19:04:48 -07:00
Makefile x86: use targets in the boot Makefile instead of CLEAN_FILES 2009-03-12 13:43:14 -07:00
Makefile_32.cpu