[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Xen balloon driver improvement (version 1)
On Thu, 23 Oct 2014, David Vrabel wrote: > On 22/10/14 17:29, Wei Liu wrote: > > > > ### Make use of balloon page compaction > [...] > > The core of migration callback is XENMEM\_exchange hypercall. This > > makes sure that inflation of old page and deflation of new page is > > done atomically, so even if a domain is beyond its memory target and > > being enforced, it can still compact memory. > > XENMEM_exchange doesn't really have the behaviour that is needed here. > > Page migration splits the memory map into two parts, the populated area > at the bottom and the balloon area. The populated area is fragmented by > ballooned pages, and the balloon area is fragmented by populated pages. > > Consider a single ballooned page in the middle of an otherwise intact > superframe. Page migration wants to populate this page and depopulate a > different page from the balloon area. > > A hypercall that can do an atomic populate and depopulate will allow xen > to easily recreate the superframe (if the missing frame is free). > XENMEM_exchange will leave the superframe fragmented. XENMEM_exchange should be capable of doing that. If it is not today, it could be fixed. Am I missing something? What the problem at the interface level with XENMEM_exchange? > XENMEM_exchange would be an acceptable fallback when this new hypercall > is not availble. > > > ## Flowcharts > > > > These flowcharts assume normal page size is 4K and huge page size is > > 2M. They show how two queues are maintained. > > Having to break 2M pages into 4k ones to meet a target suggests that the > toolstack should allocate a domain with 2M multiples and should set the > target in 2M multiples only. The autoballoon driver will also need to > set the target in 2M multiples. That's a good low hanging fruit to pick _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |