[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: non-zero order allocations in shadow code may prevent live migration
>Gosh. Are you running with almost all memory in use and failing to >allocate shadow memory? Have you seen sh_set_allocation return -ENOMEM >when there is enough memory on the page allocator's free lists? Xend's >ballooning rules have been wrong more than once before, and are what I'd >suspect first. Yes, that's the scenario (64G physical memory, one PV domain started with 4G assigned, live migration back and forth between two hosts, perhaps intertwined with other domain creation activities, plus perhaps ballooning Dom0 back up after domain termination). So no, I verified there's about 21M free (xm info) before migration starts (or after it failed), and the tools estimate the need correctly: DEBUG (balloon:146) Balloon: 21888 KiB free; need 21504; done. while shadow still fails (some of the messages might be temporary debugging aids of ours): (XEN) sh error: set_sh_allocation(): current 0 target 4608 (XEN) sh error: set_sh_allocation(): failed to allocate shadow pages. (XEN) sh error: set_sh_allocation(): current 4212 target 0 (XEN) sh error: shadow_one_bit_enable(): shadow_one_bit_enable() failed memory allocation (XEN) sh error: shadow_log_dirty_enable(): shadow_log_dirty_enable() received (errno = -12) from shadow_one_bit_enabled() 4608 pages are just 18432k, so there is about 3M of fragmented and hence unusable space. So then I'll go ahead with implementing the described change (I'm actually intending to have shadow_prealloc() take not just an order, but also a count parameter - in a number of places it is being called with SHADOW_MAX_ORDER for no reason other than wanting 3 or 4 single pages). Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |