From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olaf Hering Subject: Re: [PATCH] RFC: initial libxl support for xenpaging Date: Fri, 24 Feb 2012 16:38:22 +0100 Message-ID: <20120224153822.GA29117@aepfle.de> References: <20120217160341.GA22266@aepfle.de> <1329496998.3131.131.camel@zakaz.uk.xensource.com> <20120220111230.GA5856@aepfle.de> <1329818358.25232.64.camel@dagon.hellion.org.uk> <1329826841.2196.85.camel@elijah> <1329993761.8557.66.camel@zakaz.uk.xensource.com> <1329999531.19361.74.camel@elijah> <1330078304.8557.157.camel@zakaz.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <1330078304.8557.157.camel@zakaz.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell Cc: George Dunlap , "xen-devel@lists.xensource.com" , George Dunlap , Andres Lagarcavilla List-Id: xen-devel@lists.xenproject.org On Fri, Feb 24, Ian Campbell wrote: > Here is an updated version of my proposed interface which includes > sharing, I think as you described (modulo the use of mem-paging-set > where you said mem-set above). > > I also included "mem-paging-set manual" as an explicit thing with an > error on "mem-paging-set N" if you don't switch to manual mode. This > might be too draconian -- I'm not wedded to it. > > maxmem=X # maximum RAM the domain can ever see > memory=M # current amount of RAM seen by the > # domain > paging=[off|on] # allow the amount of memory a guest > # thinks it has to differ from the > # amount actually available to it (its > # "footprint") > pagingauto=[off|on] (dflt=on) # enable automatic enforcement of > # "footprint" for guests which do not > # voluntarily obey changes to memory=M > pagingdelay=60 # amount of time to give a guest to > # voluntarily comply before enforcing a > # footprint > pagesharing=[off|on] # cause this guest to share pages with > # other similarly enabled guests where > # possible. Requires paging=on. > pageextrapolocy=... # controls what happens to extra pages > # gain via sharing (could be combined > # with pagesharing option: > # [off|policy|...]) > > Open question -- does pagesharing=on require paging=on? I've > tried to specify things below such that it does not, but it > might simplify things to require this. > > xl mem-set domain M > Sets the amount of RAM which the guest believes it has available > to M. The guest should arrange to use only that much RAM and > return the rest to the hypervisor (e.g. by using a balloon > driver). If the guest does not do so then the host may use > technical means to enforce the guest's footprint of M. The guest > may suffer a performance penalty for this enforcement. > > paging off: set balloon target to M. > paging on: set balloon target to M. > if pagingauto: > wait delay IFF new target < old > set paging target to M > support -t to override default? Instead of having two now config options pagingauto= and pagingdelay=, what about 'xl mem-set -t ' to adjust the fixed internal value pagingdelay=? Then '-t 0' could mean pagingauto=off, which means use both ballooning and paging to reach the "footprint" M. > Open question -- if a domain balloons to M as requested should > it still be subject to sharing? There is a performance hit > associated with sharing (far less than paging though?) but > presumably the admin would not have enabled sharing if they > didn't want this, therefore I think it is right for sharing on > to allow the guest to actually have a function of the individual sharing policy? > > xl mem-paging-set domain manual > Enables manual control of paging target. > > paging off: error > paging on: set pagingauto=off > sharing on: same as paging on. > > xl mem-paging-set domain N > Overrides the amount of RAM which the guest actually has > available (its "footprint") to N. The host will use technical > means to continue to provide the illusion to the guest that it > has memory=M (as adjusted by mem-set). There may be a > performance penalty for this. > > paging off: error Could this be the time to start the pager and give it target N?