 
	
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: [PATCH] Balloon driver crash
 On Tue, 8 Jun 2010, Jeremy Fitzhardinge wrote: On 06/08/2010 02:25 AM, M A Young wrote:This patch fixes an error in commit f4685d0ed041523d1bd5124c5872459681aca876 "Add hugepage support to balloon driver" that was causing the balloon driver to crash when shrinking the memory used by Domain-0.Thanks. But why haven't I seen this? Good question, but I think you only see the crash in a limited memory situation. I don't claim to be an expert in what is going on, but a few lines earlier you have the the loop 
        for (i = 0; i < nr_pages; i++) {
if ((page = alloc_pages(GFP_BALLOON, balloon_order)) == 
NULL) {
                        nr_pages = i;
                        need_sleep = 1;
                        break;
                }
                pfn = page_to_pfn(page);
                frame_list[i] = pfn_to_mfn(pfn);
                scrub_page(page);
        }
If alloc_pages(GFP_BALLOON, balloon_order) is never NULL during the loop 
then page is left set to be one of the pages you are freeing. From then on 
PageHighMem(pfn_to_page(lpfn)) and PageHighMem(page) could easily the same 
and you will only have a problem if some of the pages you are freeing are 
PageHighMem and some aren't.If alloc_pages(GFP_BALLOON, balloon_order) is null somewhere in the loop (presumably because it can't find enough pages to free) then the process will crash. 
        Michael Young
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 
 | 
|  | Lists.xenproject.org is hosted with RackSpace, monitoring our |