rpms/kernel/F-10 linux-2.6-vm-x86-pat-fix-warnings.patch, NONE, 1.1 kernel.spec, 1.1293, 1.1294
Chuck Ebbert
cebbert at fedoraproject.org
Thu Mar 19 05:28:58 UTC 2009
- Previous message (by thread): rpms/kernel/devel patch-2.6.29-rc8-git4.bz2.sign, NONE, 1.1 .cvsignore, 1.1035, 1.1036 config-generic, 1.257, 1.258 config-powerpc-generic, 1.36, 1.37 kernel.spec, 1.1443, 1.1444 sources, 1.997, 1.998 upstream, 1.908, 1.909 linux-2.6-ext4-extent-header-check-fix.patch, 1.1, NONE linux-2.6-ext4-print-warning-once.patch, 1.1, NONE linux-2.6-net-velocity-dma.patch, 1.1, NONE patch-2.6.29-rc8-git2.bz2.sign, 1.1, NONE
- Next message (by thread): rpms/echolinux/devel echolinux-0.17a-gcc.patch, NONE, 1.1 echolinux-0.17a-includes.patch, NONE, 1.1 echolinux-0.17a-installdir.patch, NONE, 1.1 echolinux-0.17a-nostatic.patch, NONE, 1.1 echolinux-0.17a-optflags.patch, NONE, 1.1 echolinux.spec, NONE, 1.1 generate-echolinux-tarball.sh, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: cebbert
Update of /cvs/pkgs/rpms/kernel/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv12181
Modified Files:
kernel.spec
Added Files:
linux-2.6-vm-x86-pat-fix-warnings.patch
Log Message:
Add patches from the -tip tree to fix bogus PAT errors.
linux-2.6-vm-x86-pat-fix-warnings.patch:
--- NEW FILE linux-2.6-vm-x86-pat-fix-warnings.patch ---
Rollup of two vm patches:
==========================================
From: Pallipadi, Venkatesh <venkatesh.pallipadi at intel.com>
Date: Fri, 13 Mar 2009 00:45:27 +0000 (-0700)
Subject: VM, x86, PAT: Change is_linear_pfn_mapping to not use vm_pgoff
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftip%2Flinux-2.6-tip.git;a=commitdiff_plain;h=4bb9c5c02153dfc89a6c73a6f32091413805ad7d
VM, x86, PAT: Change is_linear_pfn_mapping to not use vm_pgoff
Impact: fix false positive PAT warnings - also fix VirtalBox hang
Use of vma->vm_pgoff to identify the pfnmaps that are fully
mapped at mmap time is broken. vm_pgoff is set by generic mmap
code even for cases where drivers are setting up the mappings
at the fault time.
The problem was originally reported here:
http://marc.info/?l=linux-kernel&m=123383810628583&w=2
Change is_linear_pfn_mapping logic to overload VM_INSERTPAGE
flag along with VM_PFNMAP to mean full PFNMAP setup at mmap
time.
Problem also tracked at:
http://bugzilla.kernel.org/show_bug.cgi?id=12800
Reported-by: Thomas Hellstrom <thellstrom at vmware.com>
Tested-by: Frans Pop <elendil at planet.nl>
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi at intel.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha>@intel.com>
Cc: Nick Piggin <npiggin at suse.de>
Cc: "ebiederm at xmission.com" <ebiederm at xmission.com>
Cc: <stable at kernel.org> # only for 2.6.29.1, not .28
LKML-Reference: <20090313004527.GA7176 at linux-os.sc.intel.com>
Signed-off-by: Ingo Molnar <mingo at elte.hu>
==========================================
From: Pallipadi, Venkatesh <venkatesh.pallipadi at intel.com>
Date: Fri, 13 Mar 2009 23:35:44 +0000 (-0700)
Subject: VM, x86, PAT: add a new vm flag to track full pfnmap at mmap
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftip%2Flinux-2.6-tip.git;a=commitdiff_plain;h=895791dac6946d535991edd11341046f8e85ea77
VM, x86, PAT: add a new vm flag to track full pfnmap at mmap
Impact: cleanup
Add a new vm flag VM_PFN_AT_MMAP to identify a PFNMAP that is
fully mapped with remap_pfn_range. Patch removes the overloading
of VM_INSERTPAGE from the earlier patch.
Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi at intel.com>
Signed-off-by: Suresh Siddha <suresh.b.siddha at intel.com>
Acked-by: Nick Piggin <npiggin at suse.de>
LKML-Reference: <20090313233543.GA19909 at linux-os.sc.intel.com>
Signed-off-by: Ingo Molnar <mingo at elte.hu>
==========================================
--- a/arch/x86/mm/pat.c
+++ b/arch/x86/mm/pat.c
@@ -641,10 +641,11 @@ static int reserve_pfn_range(u64 paddr, unsigned long size, pgprot_t *vma_prot,
is_ram = pat_pagerange_is_ram(paddr, paddr + size);
/*
- * reserve_pfn_range() doesn't support RAM pages.
+ * reserve_pfn_range() doesn't support RAM pages. Maintain the current
+ * behavior with RAM pages by returning success.
*/
if (is_ram != 0)
- return -EINVAL;
+ return 0;
ret = reserve_memtype(paddr, paddr + size, want_flags, &flags);
if (ret)
diff -u b/include/linux/mm.h b/include/linux/mm.h
--- b/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -104,6 +104,7 @@
#define VM_CAN_NONLINEAR 0x08000000 /* Has ->fault & does nonlinear pages */
#define VM_MIXEDMAP 0x10000000 /* Can contain "struct page" and pure PFN pages */
#define VM_SAO 0x20000000 /* Strong Access Ordering (powerpc) */
+#define VM_PFN_AT_MMAP 0x40000000 /* PFNMAP vma that is fully mapped at mmap time */
#ifndef VM_STACK_DEFAULT_FLAGS /* arch can override this */
#define VM_STACK_DEFAULT_FLAGS VM_DATA_DEFAULT_FLAGS
@@ -145,7 +146,7 @@
*/
static inline int is_linear_pfn_mapping(struct vm_area_struct *vma)
{
- return ((vma->vm_flags & VM_PFNMAP) && vma->vm_pgoff);
+ return (vma->vm_flags & VM_PFN_AT_MMAP);
}
static inline int is_pfn_mapping(struct vm_area_struct *vma)
diff -u b/mm/memory.c b/mm/memory.c
--- b/mm/memory.c
+++ b/mm/memory.c
@@ -1665,9 +1665,10 @@
* behaviour that some programs depend on. We mark the "original"
* un-COW'ed pages by matching them up with "vma->vm_pgoff".
*/
- if (addr == vma->vm_start && end == vma->vm_end)
+ if (addr == vma->vm_start && end == vma->vm_end) {
vma->vm_pgoff = pfn;
- else if (is_cow_mapping(vma->vm_flags))
+ vma->vm_flags |= VM_PFN_AT_MMAP;
+ } else if (is_cow_mapping(vma->vm_flags))
return -EINVAL;
vma->vm_flags |= VM_IO | VM_RESERVED | VM_PFNMAP;
@@ -1679,6 +1680,7 @@
* needed from higher level routine calling unmap_vmas
*/
vma->vm_flags &= ~(VM_IO | VM_RESERVED | VM_PFNMAP);
+ vma->vm_flags &= ~VM_PFN_AT_MMAP;
return -EINVAL;
}
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/kernel.spec,v
retrieving revision 1.1293
retrieving revision 1.1294
diff -u -r1.1293 -r1.1294
--- kernel.spec 19 Mar 2009 04:46:41 -0000 1.1293
+++ kernel.spec 19 Mar 2009 05:28:25 -0000 1.1294
@@ -590,6 +590,8 @@
Patch41: linux-2.6-sysrq-c.patch
+Patch80: linux-2.6-vm-x86-pat-fix-warnings.patch
+
Patch140: linux-2.6-ps3-ehci-iso.patch
Patch141: linux-2.6-ps3-storage-alias.patch
Patch142: linux-2.6-ps3-legacy-bootloader-hack.patch
@@ -1042,6 +1044,7 @@
# Architecture patches
# x86(-64)
+ApplyPatch linux-2.6-vm-x86-pat-fix-warnings.patch
#
# PowerPC
@@ -1764,6 +1767,9 @@
%kernel_variant_files -k vmlinux %{with_kdump} kdump
%changelog
+* Thu Mar 19 2009 Chuck Ebbert <cebbert at redhat.com> 2.6.29-0.64.rc8.git4
+- Add patches from the -tip tree to fix bogus PAT errors.
+
* Thu Mar 19 2009 Chuck Ebbert <cebbert at redhat.com> 2.6.29-0.63.rc8.git4
- 2.6.29-rc8-git4
- Dropped patches, merged upstream:
- Previous message (by thread): rpms/kernel/devel patch-2.6.29-rc8-git4.bz2.sign, NONE, 1.1 .cvsignore, 1.1035, 1.1036 config-generic, 1.257, 1.258 config-powerpc-generic, 1.36, 1.37 kernel.spec, 1.1443, 1.1444 sources, 1.997, 1.998 upstream, 1.908, 1.909 linux-2.6-ext4-extent-header-check-fix.patch, 1.1, NONE linux-2.6-ext4-print-warning-once.patch, 1.1, NONE linux-2.6-net-velocity-dma.patch, 1.1, NONE patch-2.6.29-rc8-git2.bz2.sign, 1.1, NONE
- Next message (by thread): rpms/echolinux/devel echolinux-0.17a-gcc.patch, NONE, 1.1 echolinux-0.17a-includes.patch, NONE, 1.1 echolinux-0.17a-installdir.patch, NONE, 1.1 echolinux-0.17a-nostatic.patch, NONE, 1.1 echolinux-0.17a-optflags.patch, NONE, 1.1 echolinux.spec, NONE, 1.1 generate-echolinux-tarball.sh, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list