Graham, Simon
2007-Feb-23 15:13 UTC
RE: [Xen-devel] [PATCH][TOOLS] Reducing impactofdomainsave/restore/dump on Dom0
Take 3 -- I''ve moved the flushing/fadvise-ing code into a common routine -- the only way I found to do this in line with other utilities was to make it inline in xc_private.h (since this is the only file included in both libxenctrl and libxenguest). The ''ifdef __linux__'' stuff is now confined to this routine which is better... I''ve also left the fsync() in place -- I think it is necessary (and certainly does no harm). Simon ----------------------------------- Reduce impact of saving/restoring/dumping large domains on Dom0 memory usage by means of fadvise64() to tell the OS to discard the cache pages used for the save/dump file. Signed-off-by: Simon Graham <Simon.Graham@stratus.com>> -----Original Message----- > From: xen-devel-bounces@lists.xensource.com [mailto:xen-devel- > bounces@lists.xensource.com] On Behalf Of Keir Fraser > Sent: Wednesday, February 21, 2007 10:10 AM > To: Graham, Simon; Keir Fraser; xen-devel@lists.xensource.com > Subject: Re: [Xen-devel] [PATCH][TOOLS] Reducing > impactofdomainsave/restore/dump on Dom0 > > On 21/2/07 15:06, "Graham, Simon" <Simon.Graham@stratus.com> wrote: > > > 2. sync-then-advise is only done at the end of writing a file to > ensure > > that all > > of the cached pages are discarded. Whilst writing the file, Ionly> > fadvise > > which triggers a write back and discards any clean pages up tothe> > specified offset. > > This is indeed a performance thing -- fsyncing on every write > makes > > it very slow. > > Do you need the fsync at all? It''s possible that the kernel will > launder-then-discard the affected pages automatically, just from the > fadvise() alone. > > -- Keir_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2007-Feb-23 16:28 UTC
Re: [Xen-devel] [PATCH][TOOLS] Reducing impactofdomainsave/restore/dump on Dom0
On 23/2/07 15:13, "Graham, Simon" <Simon.Graham@stratus.com> wrote:> Take 3 -- I''ve moved the flushing/fadvise-ing code into a common routine > -- the only way I found to do this in line with other utilities was to > make it inline in xc_private.h (since this is the only file included in > both libxenctrl and libxenguest). The ''ifdef __linux__'' stuff is now > confined to this routine which is better... > > I''ve also left the fsync() in place -- I think it is necessary (and > certainly does no harm).Looks better. What is the -D_GNU_SOURCE for? It should probably at least be limited to CFLAGS-$(CONFIG_Linux). And is it really needed in xcutil/Makefile as well: if it''s needed at all it should suffice to use it when building the library that xcutil links against I would have thought? -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel