1
0
Fork 0
alistair23-linux/arch/x86/pci
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
..
Makefile x86/pci: renamed: numa.c -> numaq_32.c 2008-07-11 21:22:58 +02:00
acpi.c x86/PCI: use dev_printk for PCI bus locality messages 2009-01-07 11:13:19 -08:00
amd_bus.c x86, pci: move arch/x86/pci/pci.h to arch/x86/include/asm/pci_x86.h 2008-12-29 18:17:36 +01:00
common.c x86: move a few device initialization objects into .devinit.rodata 2009-03-12 13:12:19 +01:00
direct.c x86, pci: move arch/x86/pci/pci.h to arch/x86/include/asm/pci_x86.h 2008-12-29 18:17:36 +01:00
early.c PCI/x86: format early dump like other PCI output 2009-03-19 19:29:18 -07:00
fixup.c Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2009-04-01 09:47:12 -07:00
i386.c x86, PAT: Remove duplicate memtype reserve in pci mmap 2009-04-03 14:43:29 -07:00
init.c PCI: avoid early PCI mmconfig init if pci=noearly is given in cmdline 2009-01-07 11:12:46 -08:00
irq.c PCI: irq and pci_ids patch for Intel Tigerpoint DeviceIDs 2009-01-27 09:46:08 -08:00
legacy.c x86/PCI: make pci=lastbus=255 work when acpi is on 2009-03-26 16:07:49 -07:00
mmconfig-shared.c x86/PCI: host mmconfig detect clean up 2009-03-20 11:40:22 -07:00
mmconfig_32.c x86, pci: move arch/x86/pci/pci.h to arch/x86/include/asm/pci_x86.h 2008-12-29 18:17:36 +01:00
mmconfig_64.c x86/PCI: host mmconfig detect clean up 2009-03-20 11:40:22 -07:00
numaq_32.c x86, apic: remove genapic.h 2009-02-17 17:52:44 +01:00
olpc.c x86, pci: move arch/x86/pci/pci.h to arch/x86/include/asm/pci_x86.h 2008-12-29 18:17:36 +01:00
pcbios.c x86: move mach-default/*.h files to asm/ 2009-01-29 14:16:51 +01:00
visws.c PCI: x86/visws: use generic INTx swizzle from PCI core 2009-01-07 11:13:16 -08:00