2010-08-24 00:05:59

by Alok Kataria

[permalink] [raw]
Subject: [PATCH] x86, vmware: Remove alloc_pmd_clone hook.

Patch on top of tip/x86/vmware

VMI was the only user of the alloc_pmd_clone hook, given that VMI
is now removed we can also remove this hook.

Signed-off-by: Alok N Kataria <[email protected]>
Cc: Jeremy Fitzhardinge <[email protected]>

Index: linux-tip-master/arch/x86/include/asm/paravirt.h
===================================================================
--- linux-tip-master.orig/arch/x86/include/asm/paravirt.h 2010-08-23 11:36:03.000000000 -0700
+++ linux-tip-master/arch/x86/include/asm/paravirt.h 2010-08-23 16:34:26.000000000 -0700
@@ -416,11 +416,6 @@ static inline void paravirt_alloc_pmd(st
PVOP_VCALL2(pv_mmu_ops.alloc_pmd, mm, pfn);
}

-static inline void paravirt_alloc_pmd_clone(unsigned long pfn, unsigned long clonepfn,
- unsigned long start, unsigned long count)
-{
- PVOP_VCALL4(pv_mmu_ops.alloc_pmd_clone, pfn, clonepfn, start, count);
-}
static inline void paravirt_release_pmd(unsigned long pfn)
{
PVOP_VCALL1(pv_mmu_ops.release_pmd, pfn);
Index: linux-tip-master/arch/x86/include/asm/paravirt_types.h
===================================================================
--- linux-tip-master.orig/arch/x86/include/asm/paravirt_types.h 2010-08-23 11:36:03.000000000 -0700
+++ linux-tip-master/arch/x86/include/asm/paravirt_types.h 2010-08-23 16:34:39.000000000 -0700
@@ -255,7 +255,6 @@ struct pv_mmu_ops {
*/
void (*alloc_pte)(struct mm_struct *mm, unsigned long pfn);
void (*alloc_pmd)(struct mm_struct *mm, unsigned long pfn);
- void (*alloc_pmd_clone)(unsigned long pfn, unsigned long clonepfn, unsigned long start, unsigned long count);
void (*alloc_pud)(struct mm_struct *mm, unsigned long pfn);
void (*release_pte)(unsigned long pfn);
void (*release_pmd)(unsigned long pfn);
Index: linux-tip-master/arch/x86/kernel/paravirt.c
===================================================================
--- linux-tip-master.orig/arch/x86/kernel/paravirt.c 2010-08-23 11:36:03.000000000 -0700
+++ linux-tip-master/arch/x86/kernel/paravirt.c 2010-08-23 16:34:45.000000000 -0700
@@ -413,7 +413,6 @@ struct pv_mmu_ops pv_mmu_ops = {

.alloc_pte = paravirt_nop,
.alloc_pmd = paravirt_nop,
- .alloc_pmd_clone = paravirt_nop,
.alloc_pud = paravirt_nop,
.release_pte = paravirt_nop,
.release_pmd = paravirt_nop,
Index: linux-tip-master/arch/x86/xen/mmu.c
===================================================================
--- linux-tip-master.orig/arch/x86/xen/mmu.c 2010-08-23 16:29:20.000000000 -0700
+++ linux-tip-master/arch/x86/xen/mmu.c 2010-08-23 16:35:16.000000000 -0700
@@ -1969,7 +1969,6 @@ static const struct pv_mmu_ops xen_mmu_o
.alloc_pte = xen_alloc_pte_init,
.release_pte = xen_release_pte_init,
.alloc_pmd = xen_alloc_pmd_init,
- .alloc_pmd_clone = paravirt_nop,
.release_pmd = xen_release_pmd_init,

#ifdef CONFIG_X86_64
Index: linux-tip-master/arch/x86/mm/pgtable.c
===================================================================
--- linux-tip-master.orig/arch/x86/mm/pgtable.c 2010-08-23 11:36:03.000000000 -0700
+++ linux-tip-master/arch/x86/mm/pgtable.c 2010-08-23 16:38:48.000000000 -0700
@@ -98,10 +98,6 @@ static void pgd_ctor(pgd_t *pgd)
clone_pgd_range(pgd + KERNEL_PGD_BOUNDARY,
swapper_pg_dir + KERNEL_PGD_BOUNDARY,
KERNEL_PGD_PTRS);
- paravirt_alloc_pmd_clone(__pa(pgd) >> PAGE_SHIFT,
- __pa(swapper_pg_dir) >> PAGE_SHIFT,
- KERNEL_PGD_BOUNDARY,
- KERNEL_PGD_PTRS);
}

/* list required to sync kernel mapping updates */


2010-08-24 00:40:40

by Alok Kataria

[permalink] [raw]
Subject: [tip:x86/vmware] x86, paravirt: Remove alloc_pmd_clone hook, only used by VMI

Commit-ID: b0f4c062fb6dd4c02b1fe6de73319ed50a09b27d
Gitweb: http://git.kernel.org/tip/b0f4c062fb6dd4c02b1fe6de73319ed50a09b27d
Author: Alok Kataria <[email protected]>
AuthorDate: Mon, 23 Aug 2010 17:05:57 -0700
Committer: H. Peter Anvin <[email protected]>
CommitDate: Mon, 23 Aug 2010 17:09:44 -0700

x86, paravirt: Remove alloc_pmd_clone hook, only used by VMI

VMI was the only user of the alloc_pmd_clone hook, given that VMI
is now removed we can also remove this hook.

Signed-off-by: Alok N Kataria <[email protected]>
LKML-Reference: <[email protected]>
Cc: Jeremy Fitzhardinge <[email protected]>
Signed-off-by: H. Peter Anvin <[email protected]>
---
arch/x86/include/asm/paravirt.h | 5 -----
arch/x86/include/asm/paravirt_types.h | 1 -
arch/x86/kernel/paravirt.c | 1 -
arch/x86/mm/pgtable.c | 4 ----
arch/x86/xen/mmu.c | 1 -
5 files changed, 0 insertions(+), 12 deletions(-)

diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index 5653f43..edecb4e 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -416,11 +416,6 @@ static inline void paravirt_alloc_pmd(struct mm_struct *mm, unsigned long pfn)
PVOP_VCALL2(pv_mmu_ops.alloc_pmd, mm, pfn);
}

-static inline void paravirt_alloc_pmd_clone(unsigned long pfn, unsigned long clonepfn,
- unsigned long start, unsigned long count)
-{
- PVOP_VCALL4(pv_mmu_ops.alloc_pmd_clone, pfn, clonepfn, start, count);
-}
static inline void paravirt_release_pmd(unsigned long pfn)
{
PVOP_VCALL1(pv_mmu_ops.release_pmd, pfn);
diff --git a/arch/x86/include/asm/paravirt_types.h b/arch/x86/include/asm/paravirt_types.h
index db9ef55..b82bac9 100644
--- a/arch/x86/include/asm/paravirt_types.h
+++ b/arch/x86/include/asm/paravirt_types.h
@@ -255,7 +255,6 @@ struct pv_mmu_ops {
*/
void (*alloc_pte)(struct mm_struct *mm, unsigned long pfn);
void (*alloc_pmd)(struct mm_struct *mm, unsigned long pfn);
- void (*alloc_pmd_clone)(unsigned long pfn, unsigned long clonepfn, unsigned long start, unsigned long count);
void (*alloc_pud)(struct mm_struct *mm, unsigned long pfn);
void (*release_pte)(unsigned long pfn);
void (*release_pmd)(unsigned long pfn);
diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
index 1db183e..c5b2500 100644
--- a/arch/x86/kernel/paravirt.c
+++ b/arch/x86/kernel/paravirt.c
@@ -413,7 +413,6 @@ struct pv_mmu_ops pv_mmu_ops = {

.alloc_pte = paravirt_nop,
.alloc_pmd = paravirt_nop,
- .alloc_pmd_clone = paravirt_nop,
.alloc_pud = paravirt_nop,
.release_pte = paravirt_nop,
.release_pmd = paravirt_nop,
diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c
index 5c4ee42..a96023e 100644
--- a/arch/x86/mm/pgtable.c
+++ b/arch/x86/mm/pgtable.c
@@ -98,10 +98,6 @@ static void pgd_ctor(pgd_t *pgd)
clone_pgd_range(pgd + KERNEL_PGD_BOUNDARY,
swapper_pg_dir + KERNEL_PGD_BOUNDARY,
KERNEL_PGD_PTRS);
- paravirt_alloc_pmd_clone(__pa(pgd) >> PAGE_SHIFT,
- __pa(swapper_pg_dir) >> PAGE_SHIFT,
- KERNEL_PGD_BOUNDARY,
- KERNEL_PGD_PTRS);
}

/* list required to sync kernel mapping updates */
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index 42086ac..b2363fc 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -1969,7 +1969,6 @@ static const struct pv_mmu_ops xen_mmu_ops __initdata = {
.alloc_pte = xen_alloc_pte_init,
.release_pte = xen_release_pte_init,
.alloc_pmd = xen_alloc_pmd_init,
- .alloc_pmd_clone = paravirt_nop,
.release_pmd = xen_release_pmd_init,

#ifdef CONFIG_X86_64