[kernel] r17297 - in dists/squeeze/linux-2.6/debian: . patches/bugfix/all patches/features/all/xen patches/series

Ian Campbell ijc-guest at alioth.debian.org
Wed May 4 12:27:08 UTC 2011


Author: ijc-guest
Date: Wed May  4 12:27:05 2011
New Revision: 17297

Log:
Remove lazy vunmap for non-Xen flavours too. (Closes: #613634)

non-Xen flavours can run as domU.

Added:
   dists/squeeze/linux-2.6/debian/patches/bugfix/all/vmalloc-eagerly-clear-ptes-on-vunmap.patch
      - copied, changed from r17295, dists/squeeze/linux-2.6/debian/patches/features/all/xen/vmalloc-eagerly-clear-ptes-on-vunmap.patch
   dists/squeeze/linux-2.6/debian/patches/series/35-extra
      - copied, changed from r17295, dists/squeeze/linux-2.6/debian/patches/series/34-extra
Deleted:
   dists/squeeze/linux-2.6/debian/patches/series/34-extra
Modified:
   dists/squeeze/linux-2.6/debian/changelog
   dists/squeeze/linux-2.6/debian/patches/features/all/xen/vmalloc-eagerly-clear-ptes-on-vunmap.patch
   dists/squeeze/linux-2.6/debian/patches/series/35

Modified: dists/squeeze/linux-2.6/debian/changelog
==============================================================================
--- dists/squeeze/linux-2.6/debian/changelog	Wed May  4 01:52:44 2011	(r17296)
+++ dists/squeeze/linux-2.6/debian/changelog	Wed May  4 12:27:05 2011	(r17297)
@@ -10,6 +10,9 @@
   * ar9170usb: Add several additional USB device IDs
   * net: Add bna driver for Brocade Ethernet adapters
 
+  [ Ian Campbell ]
+  * Remove lazy vunmap for non-Xen flavours too. (Closes: #613634)
+
  -- Ben Hutchings <ben at decadent.org.uk>  Wed, 04 May 2011 01:44:34 +0100
 
 linux-2.6 (2.6.32-34) stable; urgency=high

Copied and modified: dists/squeeze/linux-2.6/debian/patches/bugfix/all/vmalloc-eagerly-clear-ptes-on-vunmap.patch (from r17295, dists/squeeze/linux-2.6/debian/patches/features/all/xen/vmalloc-eagerly-clear-ptes-on-vunmap.patch)
==============================================================================
--- dists/squeeze/linux-2.6/debian/patches/features/all/xen/vmalloc-eagerly-clear-ptes-on-vunmap.patch	Wed May  4 01:10:25 2011	(r17295, copy source)
+++ dists/squeeze/linux-2.6/debian/patches/bugfix/all/vmalloc-eagerly-clear-ptes-on-vunmap.patch	Wed May  4 12:27:05 2011	(r17297)
@@ -4,7 +4,7 @@
 
     vmalloc: eagerly clear ptes on vunmap
     
-    [ Backport from 64141da587241301ce8638cc945f8b67853156ec ]
+    [ Backport from 64141da587241301ce8638cc945f8b67853156ec, generic flavour parts ]
     
     On stock 2.6.37-rc4, running:
     
@@ -55,55 +55,10 @@
     Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
     Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
 
-diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
-index fa36ab8..204e3ba 100644
---- a/arch/x86/xen/mmu.c
-+++ b/arch/x86/xen/mmu.c
-@@ -2430,8 +2430,6 @@ void __init xen_init_mmu_ops(void)
- 	x86_init.paging.pagetable_setup_start = xen_pagetable_setup_start;
- 	x86_init.paging.pagetable_setup_done = xen_pagetable_setup_done;
- 	pv_mmu_ops = xen_mmu_ops;
--
--	vmap_lazy_unmap = false;
- }
- 
- /* Protected by xen_reservation_lock. */
-diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h
-index 1a2ba21..3c123c3 100644
---- a/include/linux/vmalloc.h
-+++ b/include/linux/vmalloc.h
-@@ -7,8 +7,6 @@
- 
- struct vm_area_struct;		/* vma defining user mapping in mm_types.h */
- 
--extern bool vmap_lazy_unmap;
--
- /* bits in flags of vmalloc's vm_struct below */
- #define VM_IOREMAP	0x00000001	/* ioremap() and friends */
- #define VM_ALLOC	0x00000002	/* vmalloc() */
 diff --git a/mm/vmalloc.c b/mm/vmalloc.c
 index 4f701c2..80cbd7b 100644
 --- a/mm/vmalloc.c
 +++ b/mm/vmalloc.c
-@@ -31,8 +31,6 @@
- #include <asm/tlbflush.h>
- #include <asm/shmparam.h>
- 
--bool vmap_lazy_unmap __read_mostly = true;
--
- /*** Page table manipulation functions ***/
- 
- static void vunmap_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end)
-@@ -503,9 +501,6 @@ static unsigned long lazy_max_pages(void)
- {
- 	unsigned int log;
- 
--	if (!vmap_lazy_unmap)
--		return 0;
--
- 	log = fls(num_online_cpus());
- 
- 	return log * (32UL * 1024 * 1024 / PAGE_SIZE);
 @@ -566,7 +561,6 @@ static void __purge_vmap_area_lazy(unsigned long *start, unsigned long *end,
  			if (va->va_end > *end)
  				*end = va->va_end;

Modified: dists/squeeze/linux-2.6/debian/patches/features/all/xen/vmalloc-eagerly-clear-ptes-on-vunmap.patch
==============================================================================
--- dists/squeeze/linux-2.6/debian/patches/features/all/xen/vmalloc-eagerly-clear-ptes-on-vunmap.patch	Wed May  4 01:52:44 2011	(r17296)
+++ dists/squeeze/linux-2.6/debian/patches/features/all/xen/vmalloc-eagerly-clear-ptes-on-vunmap.patch	Wed May  4 12:27:05 2011	(r17297)
@@ -4,7 +4,7 @@
 
     vmalloc: eagerly clear ptes on vunmap
     
-    [ Backport from 64141da587241301ce8638cc945f8b67853156ec ]
+    [ Backport from 64141da587241301ce8638cc945f8b67853156ec, xen flavour parts ]
     
     On stock 2.6.37-rc4, running:
     
@@ -104,69 +104,3 @@
  	log = fls(num_online_cpus());
  
  	return log * (32UL * 1024 * 1024 / PAGE_SIZE);
-@@ -566,7 +561,6 @@ static void __purge_vmap_area_lazy(unsigned long *start, unsigned long *end,
- 			if (va->va_end > *end)
- 				*end = va->va_end;
- 			nr += (va->va_end - va->va_start) >> PAGE_SHIFT;
--			unmap_vmap_area(va);
- 			list_add_tail(&va->purge_list, &valist);
- 			va->flags |= VM_LAZY_FREEING;
- 			va->flags &= ~VM_LAZY_FREE;
-@@ -612,10 +606,11 @@ static void purge_vmap_area_lazy(void)
- }
- 
- /*
-- * Free and unmap a vmap area, caller ensuring flush_cache_vunmap had been
-- * called for the correct range previously.
-+ * Free a vmap area, caller ensuring that the area has been unmapped
-+ * and flush_cache_vunmap had been called for the correct range
-+ * previously.
-  */
--static void free_unmap_vmap_area_noflush(struct vmap_area *va)
-+static void free_vmap_area_noflush(struct vmap_area *va)
- {
- 	va->flags |= VM_LAZY_FREE;
- 	atomic_add((va->va_end - va->va_start) >> PAGE_SHIFT, &vmap_lazy_nr);
-@@ -624,6 +619,16 @@ static void free_unmap_vmap_area_noflush(struct vmap_area *va)
- }
- 
- /*
-+ * Free and unmap a vmap area, caller ensuring flush_cache_vunmap had been
-+ * called for the correct range previously.
-+ */
-+static void free_unmap_vmap_area_noflush(struct vmap_area *va)
-+{
-+	unmap_vmap_area(va);
-+	free_vmap_area_noflush(va);
-+}
-+
-+/*
-  * Free and unmap a vmap area
-  */
- static void free_unmap_vmap_area(struct vmap_area *va)
-@@ -799,7 +804,7 @@ static void free_vmap_block(struct vmap_block *vb)
- 	spin_unlock(&vmap_block_tree_lock);
- 	BUG_ON(tmp != vb);
- 
--	free_unmap_vmap_area_noflush(vb->va);
-+	free_vmap_area_noflush(vb->va);
- 	call_rcu(&vb->rcu_head, rcu_free_vb);
- }
- 
-@@ -936,6 +941,8 @@ static void vb_free(const void *addr, unsigned long size)
- 	rcu_read_unlock();
- 	BUG_ON(!vb);
- 
-+	vunmap_page_range((unsigned long)addr, (unsigned long)addr + size);
-+
- 	spin_lock(&vb->lock);
- 	BUG_ON(bitmap_allocate_region(vb->dirty_map, offset >> PAGE_SHIFT, order));
- 
-@@ -988,7 +995,6 @@ void vm_unmap_aliases(void)
- 
- 				s = vb->va->va_start + (i << PAGE_SHIFT);
- 				e = vb->va->va_start + (j << PAGE_SHIFT);
--				vunmap_page_range(s, e);
- 				flush = 1;
- 
- 				if (s < start)

Modified: dists/squeeze/linux-2.6/debian/patches/series/35
==============================================================================
--- dists/squeeze/linux-2.6/debian/patches/series/35	Wed May  4 01:52:44 2011	(r17296)
+++ dists/squeeze/linux-2.6/debian/patches/series/35	Wed May  4 12:27:05 2011	(r17297)
@@ -129,3 +129,6 @@
 + features/all/bna/0021-bna-IOC-failure-auto-recovery-fix.patch
 + features/all/bna/0022-bna-Update-the-driver-version-to-2.3.2.3.patch
 + features/all/bna/0023-bna-Remove-unnecessary-memset-0.patch
+
+# Xen
++ bugfix/all/vmalloc-eagerly-clear-ptes-on-vunmap.patch

Copied and modified: dists/squeeze/linux-2.6/debian/patches/series/35-extra (from r17295, dists/squeeze/linux-2.6/debian/patches/series/34-extra)
==============================================================================



More information about the Kernel-svn-changes mailing list