search for: free_some_pag

Displaying 12 results from an estimated 12 matches for "free_some_pag".

Did you mean: free_some_pages
2009 Sep 21
0
[PATCH 4/5] lguest: cleanup for map_switcher()
...t map_switcher(void) * so we make sure they're zeroed. */ for (i = 0; i < TOTAL_SWITCHER_PAGES; i++) { - unsigned long addr = get_zeroed_page(GFP_KERNEL); - if (!addr) { + switcher_page[i] = alloc_page(GFP_KERNEL|__GFP_ZERO); + if (!switcher_page[i]) { err = -ENOMEM; goto free_some_pages; } - switcher_page[i] = virt_to_page(addr); } /*
2009 Sep 21
0
[PATCH 4/5] lguest: cleanup for map_switcher()
...t map_switcher(void) * so we make sure they're zeroed. */ for (i = 0; i < TOTAL_SWITCHER_PAGES; i++) { - unsigned long addr = get_zeroed_page(GFP_KERNEL); - if (!addr) { + switcher_page[i] = alloc_page(GFP_KERNEL|__GFP_ZERO); + if (!switcher_page[i]) { err = -ENOMEM; goto free_some_pages; } - switcher_page[i] = virt_to_page(addr); } /*
2007 Apr 18
1
[PATCH] lguest: clean up some l"references .init.text" warnings
Thanks to Andrew for pointing these out. This patch moves the parvirtprobe section into .init.data: it's only used in very very early boot, and for similar reasons, puts lguest_maybe_init and lguest_memory_setup in init.text. As well as fixing some warnings, this frees up a tiny bit more memory. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> diff -r ecec388180b2
2007 Apr 18
1
[PATCH] lguest: clean up some l"references .init.text" warnings
Thanks to Andrew for pointing these out. This patch moves the parvirtprobe section into .init.data: it's only used in very very early boot, and for similar reasons, puts lguest_maybe_init and lguest_memory_setup in init.text. As well as fixing some warnings, this frees up a tiny bit more memory. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> diff -r ecec388180b2
2007 Apr 18
0
[PATCH] lguest: Compile hypervisor.S into the lg module directly
...g)switch_to_guest + hype_offset(); lguest_entry.segment = LGUEST_CS; printk("lguest: mapped hypervisor at %p\n", hypervisor_vma->addr); @@ -124,10 +134,12 @@ free_vma: free_vma: vunmap(hypervisor_vma->addr); free_pages: - i = ARRAY_SIZE(hype_page); + i = TOTAL_HYPE_PAGES; free_some_pages: for (--i; i >= 0; i--) __free_pages(hype_page[i], 0); + kfree(hype_page); +out: return err; } @@ -136,7 +148,7 @@ static __exit void unmap_hypervisor(void unsigned int i; vunmap(hypervisor_vma->addr); - for (i = 0; i < ARRAY_SIZE(hype_page); i++) + for (i = 0; i < TOT...
2007 Apr 18
0
[PATCH] lguest: Compile hypervisor.S into the lg module directly
...g)switch_to_guest + hype_offset(); lguest_entry.segment = LGUEST_CS; printk("lguest: mapped hypervisor at %p\n", hypervisor_vma->addr); @@ -124,10 +134,12 @@ free_vma: free_vma: vunmap(hypervisor_vma->addr); free_pages: - i = ARRAY_SIZE(hype_page); + i = TOTAL_HYPE_PAGES; free_some_pages: for (--i; i >= 0; i--) __free_pages(hype_page[i], 0); + kfree(hype_page); +out: return err; } @@ -136,7 +148,7 @@ static __exit void unmap_hypervisor(void unsigned int i; vunmap(hypervisor_vma->addr); - for (i = 0; i < ARRAY_SIZE(hype_page); i++) + for (i = 0; i < TOT...
2007 May 09
1
[patch 3/9] lguest: the host code
...+ switcher_page = kmalloc(sizeof(switcher_page[0])*TOTAL_SWITCHER_PAGES, + GFP_KERNEL); + if (!switcher_page) { + err = -ENOMEM; + goto out; + } + + for (i = 0; i < TOTAL_SWITCHER_PAGES; i++) { + unsigned long addr = get_zeroed_page(GFP_KERNEL); + if (!addr) { + err = -ENOMEM; + goto free_some_pages; + } + switcher_page[i] = virt_to_page(addr); + } + + switcher_vma = __get_vm_area(TOTAL_SWITCHER_PAGES * PAGE_SIZE, + VM_ALLOC, SWITCHER_ADDR, VMALLOC_END); + if (!switcher_vma) { + err = -ENOMEM; + printk("lguest: could not map switcher pages high\n"); + goto free_pages...
2007 May 09
1
[patch 3/9] lguest: the host code
...+ switcher_page = kmalloc(sizeof(switcher_page[0])*TOTAL_SWITCHER_PAGES, + GFP_KERNEL); + if (!switcher_page) { + err = -ENOMEM; + goto out; + } + + for (i = 0; i < TOTAL_SWITCHER_PAGES; i++) { + unsigned long addr = get_zeroed_page(GFP_KERNEL); + if (!addr) { + err = -ENOMEM; + goto free_some_pages; + } + switcher_page[i] = virt_to_page(addr); + } + + switcher_vma = __get_vm_area(TOTAL_SWITCHER_PAGES * PAGE_SIZE, + VM_ALLOC, SWITCHER_ADDR, VMALLOC_END); + if (!switcher_vma) { + err = -ENOMEM; + printk("lguest: could not map switcher pages high\n"); + goto free_pages...
2007 Aug 08
13
[PATCH 0/7] Modify lguest32 to make room for lguest64
Hi all, I've been working on lguest64 and in order to do this, I had to move a lot of the i386 specific out of the way. Well, the lguest64 port is still not ready to display, but before Rusty makes too many changes I would like this in upstream so I don't have to keep repeating my changes :-) So this patch series moves lguest32 out of the way for other archs. -- Steve
2007 Aug 08
13
[PATCH 0/7] Modify lguest32 to make room for lguest64
Hi all, I've been working on lguest64 and in order to do this, I had to move a lot of the i386 specific out of the way. Well, the lguest64 port is still not ready to display, but before Rusty makes too many changes I would like this in upstream so I don't have to keep repeating my changes :-) So this patch series moves lguest32 out of the way for other archs. -- Steve
2007 Aug 08
7
[PATCH 0/5 -v2] Modify lguest32 to make room for lguest64 (version 2)
[ Changes since last version. - Move lg.h to include/asm instead (suggested by Rusty Russel) - All steps of the series compiles (suggested by Stephen Rothwell) - Better ifdef header naming (suggested by Stephen Rothwell) - Added Andi Kleen to CC (forgot to on V1) ] Hi all, I've been working on lguest64 and in order to do this, I had to move a lot of the i386 specific out of the
2007 Aug 08
7
[PATCH 0/5 -v2] Modify lguest32 to make room for lguest64 (version 2)
[ Changes since last version. - Move lg.h to include/asm instead (suggested by Rusty Russel) - All steps of the series compiles (suggested by Stephen Rothwell) - Better ifdef header naming (suggested by Stephen Rothwell) - Added Andi Kleen to CC (forgot to on V1) ] Hi all, I've been working on lguest64 and in order to do this, I had to move a lot of the i386 specific out of the