Displaying 20 results from an estimated 35 matches for "pgd_ctor".
2006 May 09
5
ParaGuest cannot see 30GB memory
Hi,
I have buit Xen (32 bit) with PAE and can start multiple Paraguests with 4 gig memory, but cannot launch a single VM with more than 4 gb memory. I would like to launch 1 VM with 30GB or so memory. Are there any config paramters like kernel,/inittrd that need to be changed.
I have the ramdisk set to the initrd I used to boot xen with PAE.
Thanks
- padma
2008 Mar 17
1
Running CentOS 4.6 domUs on CentOS 5.1 dom0 and domUs crash
...a initrd issue.
First 4.6 domU:
kernel BUG at arch/i386/mm/pgtable-xen.c:306!
invalid operand: 0000 [#1]
SMP
Modules linked in: md5 ipv6 sunrpc dm_mirror dm_mod xennet ext3 jbd xenblk
CPU: 0
EIP: 0061:[<c011163a>] Not tainted VLI
EFLAGS: 00010282 (2.6.9-55.0.12.ELxenU)
EIP is at pgd_ctor+0x1d/0x26
eax: fffffff4 ebx: 00000000 ecx: f5392000 edx: 00000000
esi: c19fdd80 edi: e8f6a700 ebp: 00000001 esp: e0e45de4
ds: 007b es: 007b ss: 0068
Process crond (pid: 32004, threadinfo=e0e45000 task=eb4443f0)
Stack: c0141bbd cc57b000 c19fdd80 00000001 cc57b000 e8f6a700 c19fdd80
c...
2008 Mar 17
1
Running CentOS 4.6 domUs on CentOS 5.1 dom0 and domUs crash
...a initrd issue.
First 4.6 domU:
kernel BUG at arch/i386/mm/pgtable-xen.c:306!
invalid operand: 0000 [#1]
SMP
Modules linked in: md5 ipv6 sunrpc dm_mirror dm_mod xennet ext3 jbd xenblk
CPU: 0
EIP: 0061:[<c011163a>] Not tainted VLI
EFLAGS: 00010282 (2.6.9-55.0.12.ELxenU)
EIP is at pgd_ctor+0x1d/0x26
eax: fffffff4 ebx: 00000000 ecx: f5392000 edx: 00000000
esi: c19fdd80 edi: e8f6a700 ebp: 00000001 esp: e0e45de4
ds: 007b es: 007b ss: 0068
Process crond (pid: 32004, threadinfo=e0e45000 task=eb4443f0)
Stack: c0141bbd cc57b000 c19fdd80 00000001 cc57b000 e8f6a700 c19fdd80
c...
2007 Apr 18
1
[PATCH 1/5] Add pagetable allocation notifiers
...;
}
Index: linux-2.6.13/arch/i386/mm/pgtable.c
===================================================================
--- linux-2.6.13.orig/arch/i386/mm/pgtable.c 2005-08-24 09:31:05.000000000 -0700
+++ linux-2.6.13/arch/i386/mm/pgtable.c 2005-08-24 09:40:22.000000000 -0700
@@ -209,6 +209,7 @@ void pgd_ctor(void *pgd, kmem_cache_t *c
if (PTRS_PER_PMD == 1) {
memset(pgd, 0, USER_PTRS_PER_PGD*sizeof(pgd_t));
+ SetPagePDE(virt_to_page(pgd));
spin_lock_irqsave(&pgd_lock, flags);
}
@@ -227,6 +228,7 @@ void pgd_dtor(void *pgd, kmem_cache_t *c
{
unsigned long flags; /* can be called fro...
2007 Apr 18
1
[PATCH 1/5] Add pagetable allocation notifiers
...;
}
Index: linux-2.6.13/arch/i386/mm/pgtable.c
===================================================================
--- linux-2.6.13.orig/arch/i386/mm/pgtable.c 2005-08-24 09:31:05.000000000 -0700
+++ linux-2.6.13/arch/i386/mm/pgtable.c 2005-08-24 09:40:22.000000000 -0700
@@ -209,6 +209,7 @@ void pgd_ctor(void *pgd, kmem_cache_t *c
if (PTRS_PER_PMD == 1) {
memset(pgd, 0, USER_PTRS_PER_PGD*sizeof(pgd_t));
+ SetPagePDE(virt_to_page(pgd));
spin_lock_irqsave(&pgd_lock, flags);
}
@@ -227,6 +228,7 @@ void pgd_dtor(void *pgd, kmem_cache_t *c
{
unsigned long flags; /* can be called fro...
2007 Apr 18
1
[PATCH 4/10] I386 pgd clone under lock fix.patch
...to the list when splitting or rejoining large pages.
Signed-off-by: Zachary Amsden <zach@vmware.com>
diff -r 2247ff2c3fdb arch/i386/mm/pgtable.c
--- a/arch/i386/mm/pgtable.c Thu Apr 05 17:29:15 2007 -0700
+++ b/arch/i386/mm/pgtable.c Thu Apr 05 17:40:02 2007 -0700
@@ -241,18 +241,16 @@ void pgd_ctor(void *pgd, struct kmem_cac
/* !PAE, no pagetable sharing */
memset(pgd, 0, USER_PTRS_PER_PGD*sizeof(pgd_t));
+ spin_lock_irqsave(&pgd_lock, flags);
+
+ /* must happen under lock */
clone_pgd_range((pgd_t *)pgd + USER_PTRS_PER_PGD,
swapper_pg_dir + USER_PTRS_PER_PGD,
KERNEL_PGD_P...
2007 Apr 18
1
[PATCH 4/10] I386 pgd clone under lock fix.patch
...to the list when splitting or rejoining large pages.
Signed-off-by: Zachary Amsden <zach@vmware.com>
diff -r 2247ff2c3fdb arch/i386/mm/pgtable.c
--- a/arch/i386/mm/pgtable.c Thu Apr 05 17:29:15 2007 -0700
+++ b/arch/i386/mm/pgtable.c Thu Apr 05 17:40:02 2007 -0700
@@ -241,18 +241,16 @@ void pgd_ctor(void *pgd, struct kmem_cac
/* !PAE, no pagetable sharing */
memset(pgd, 0, USER_PTRS_PER_PGD*sizeof(pgd_t));
+ spin_lock_irqsave(&pgd_lock, flags);
+
+ /* must happen under lock */
clone_pgd_range((pgd_t *)pgd + USER_PTRS_PER_PGD,
swapper_pg_dir + USER_PTRS_PER_PGD,
KERNEL_PGD_P...
2007 Apr 18
0
[PATCH 1/5] Paravirt page alloc.patch
...ge);
+ paravirt_release_pt(page_to_pfn(kpte_page));
list_add(&kpte_page->lru, &df_list);
revert_page(kpte_page, address);
}
===================================================================
--- a/arch/i386/mm/pgtable.c
+++ b/arch/i386/mm/pgtable.c
@@ -245,8 +245,14 @@ void pgd_ctor(void *pgd, kmem_cache_t *c
clone_pgd_range((pgd_t *)pgd + USER_PTRS_PER_PGD,
swapper_pg_dir + USER_PTRS_PER_PGD,
KERNEL_PGD_PTRS);
+
if (PTRS_PER_PMD > 1)
return;
+
+ /* must happen under lock */
+ paravirt_alloc_pd_clone(__pa(pgd) >> PAGE_SHIFT,
+ __pa(swapper_pg_dir) >...
2007 Apr 18
0
[PATCH 1/5] Paravirt page alloc.patch
...ge);
+ paravirt_release_pt(page_to_pfn(kpte_page));
list_add(&kpte_page->lru, &df_list);
revert_page(kpte_page, address);
}
===================================================================
--- a/arch/i386/mm/pgtable.c
+++ b/arch/i386/mm/pgtable.c
@@ -245,8 +245,14 @@ void pgd_ctor(void *pgd, kmem_cache_t *c
clone_pgd_range((pgd_t *)pgd + USER_PTRS_PER_PGD,
swapper_pg_dir + USER_PTRS_PER_PGD,
KERNEL_PGD_PTRS);
+
if (PTRS_PER_PMD > 1)
return;
+
+ /* must happen under lock */
+ paravirt_alloc_pd_clone(__pa(pgd) >> PAGE_SHIFT,
+ __pa(swapper_pg_dir) >...
2007 Apr 18
0
[PATCH 1/6] Page allocation hooks for VMI backend
...ge);
+ paravirt_release_pt(page_to_pfn(kpte_page));
list_add(&kpte_page->lru, &df_list);
revert_page(kpte_page, address);
}
===================================================================
--- a/arch/i386/mm/pgtable.c
+++ b/arch/i386/mm/pgtable.c
@@ -245,8 +245,14 @@ void pgd_ctor(void *pgd, kmem_cache_t *c
clone_pgd_range((pgd_t *)pgd + USER_PTRS_PER_PGD,
swapper_pg_dir + USER_PTRS_PER_PGD,
KERNEL_PGD_PTRS);
+
if (PTRS_PER_PMD > 1)
return;
+
+ /* must happen under lock */
+ paravirt_alloc_pd_clone(__pa(pgd) >> PAGE_SHIFT,
+ __pa(swapper_pg_dir) >...
2007 Apr 18
0
[PATCH 1/6] Page allocation hooks for VMI backend
...ge);
+ paravirt_release_pt(page_to_pfn(kpte_page));
list_add(&kpte_page->lru, &df_list);
revert_page(kpte_page, address);
}
===================================================================
--- a/arch/i386/mm/pgtable.c
+++ b/arch/i386/mm/pgtable.c
@@ -245,8 +245,14 @@ void pgd_ctor(void *pgd, kmem_cache_t *c
clone_pgd_range((pgd_t *)pgd + USER_PTRS_PER_PGD,
swapper_pg_dir + USER_PTRS_PER_PGD,
KERNEL_PGD_PTRS);
+
if (PTRS_PER_PMD > 1)
return;
+
+ /* must happen under lock */
+ paravirt_alloc_pd_clone(__pa(pgd) >> PAGE_SHIFT,
+ __pa(swapper_pg_dir) >...
2007 Apr 18
2
pgd_alloc and [cd]tors
Is there any real use in having a ctor/dtor for the pgd cache? Given
that all pgd allocation happens via pgd_alloc/pgd_free, why not just
fold the [cd]tor in?
I'm asking because Xen wants pgd[3] to be unshared in the PAE case, and
it looks to me like the easiest way to handle that is by making
pgd_alloc/free pv-ops and doing the appropriate thing in the Xen code.
Would need to sort out the
2007 Apr 18
2
pgd_alloc and [cd]tors
Is there any real use in having a ctor/dtor for the pgd cache? Given
that all pgd allocation happens via pgd_alloc/pgd_free, why not just
fold the [cd]tor in?
I'm asking because Xen wants pgd[3] to be unshared in the PAE case, and
it looks to me like the easiest way to handle that is by making
pgd_alloc/free pv-ops and doing the appropriate thing in the Xen code.
Would need to sort out the
2006 Feb 24
2
r56 - trunk/debian
.../arch/i386/mm/pgtable.c
--- pristine-linux-2.6.12/arch/i386/mm/pgtable.c 2005-06-17 21:48:29.000000000 +0200
-+++ linux-2.6.12-xen/arch/i386/mm/pgtable.c 2006-02-17 00:45:18.267516262 +0100
++++ linux-2.6.12-xen/arch/i386/mm/pgtable.c 2006-02-25 00:12:33.824986259 +0100
@@ -199,19 +199,20 @@ void pgd_ctor(void *pgd, kmem_cache_t *c
{
unsigned long flags;
@@ -2290,7 +2290,7 @@
* Make a PAL call using the stacked registers calling convention.
diff -Nurp pristine-linux-2.6.12/arch/ia64/kernel/ptrace.c linux-2.6.12-xen/arch/ia64/kernel/ptrace.c
--- pristine-linux-2.6.12/arch/ia64/kernel/ptrace...
2007 Apr 18
20
[patch 00/20] XEN-paravirt: Xen guest implementation for paravirt_ops interface
This patch series implements the Linux Xen guest in terms of the
paravirt-ops interface. The features in implemented this patch series
are:
* domU only
* UP only (most code is SMP-safe, but there's no way to create a new vcpu)
* writable pagetables, with late pinning/early unpinning
(no shadow pagetable support)
* supports both PAE and non-PAE modes
* xen console
* virtual block
2007 Apr 18
20
[patch 00/20] XEN-paravirt: Xen guest implementation for paravirt_ops interface
This patch series implements the Linux Xen guest in terms of the
paravirt-ops interface. The features in implemented this patch series
are:
* domU only
* UP only (most code is SMP-safe, but there's no way to create a new vcpu)
* writable pagetables, with late pinning/early unpinning
(no shadow pagetable support)
* supports both PAE and non-PAE modes
* xen console
* virtual block
2007 Apr 18
20
[patch 00/20] XEN-paravirt: Xen guest implementation for paravirt_ops interface
This patch series implements the Linux Xen guest in terms of the
paravirt-ops interface. The features in implemented this patch series
are:
* domU only
* UP only (most code is SMP-safe, but there's no way to create a new vcpu)
* writable pagetables, with late pinning/early unpinning
(no shadow pagetable support)
* supports both PAE and non-PAE modes
* xen console
* virtual block
2007 Apr 18
17
[patch 00/17] paravirt_ops updates
Hi Andi,
This series of patches updates paravirt_ops in various ways. Some of the
changes are plain cleanups and improvements, and some add some interfaces
necessary for Xen.
The brief overview:
add-MAINTAINERS.patch - obvious
remove-CONFIG_DEBUG_PARAVIRT.patch - no longer needed
paravirt-nop.patch - mark nop operations consistently
paravirt-pte-accessors.patch - operations to pack/unpack
2007 Apr 18
17
[patch 00/17] paravirt_ops updates
Hi Andi,
This series of patches updates paravirt_ops in various ways. Some of the
changes are plain cleanups and improvements, and some add some interfaces
necessary for Xen.
The brief overview:
add-MAINTAINERS.patch - obvious
remove-CONFIG_DEBUG_PARAVIRT.patch - no longer needed
paravirt-nop.patch - mark nop operations consistently
paravirt-pte-accessors.patch - operations to pack/unpack
2007 Apr 18
25
[patch 00/21] Xen-paravirt: Xen guest implementation for paravirt_ops interface
Hi Andi,
This patch series implements the Linux Xen guest in terms of the
paravirt-ops interface. The features in implemented this patch series
are:
* domU only
* UP only (most code is SMP-safe, but there's no way to create a new vcpu)
* writable pagetables, with late pinning/early unpinning
(no shadow pagetable support)
* supports both PAE and non-PAE modes
* xen console
* virtual