Graham, Simon
2007-Feb-21 15:22 UTC
RE: [Xen-devel] [PATCH][TOOLS] Reducing impact ofdomainsave/restore/dump on Dom0
> > 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.To be honest, I''m not completely sure; the implementation of the fadvise call triggers a write back and then explicitely discards any clean pages -- I don''t _think_ it will discard clean pages once the write back completes (but it''s not entirely clear to me how much of the write back is done synchronously). However, it definitely makes a perf difference if you explicitely fsync before each call to fadvise -- therefore I believe that the fadvise call is definitely not cleaning all the pages inline (which would be equivalent to the fsync()). So -- my belief is that without the fsync, there will be some (clean) pages for the file still in the cache when this is done; my goal was to remove ALL the pages, but perhaps leaving a few lying around is OK.. /simgr _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Robert Read
2007-Feb-22 02:10 UTC
Re: [Xen-devel] [PATCH][TOOLS] Reducing impact ofdomainsave/restore/dump on Dom0
Hi, I also read somewhere (either the man page or in the code) that the sync is necessary for exactly these reasons. robert On Feb 21, 2007, at 07:22, Graham, Simon wrote:> > >> >> 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. > > To be honest, I''m not completely sure; the implementation of the > fadvise > call triggers a write back and then explicitely discards any clean > pages > -- I don''t _think_ it will discard clean pages once the write back > completes (but it''s not entirely clear to me how much of the write > back > is done synchronously). > > However, it definitely makes a perf difference if you explicitely > fsync > before each call to fadvise -- therefore I believe that the fadvise > call > is definitely not cleaning all the pages inline (which would be > equivalent to the fsync()). > > So -- my belief is that without the fsync, there will be some (clean) > pages for the file still in the cache when this is done; my goal > was to > remove ALL the pages, but perhaps leaving a few lying around is OK.. > > /simgr > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel