On Fri, Dec 25, 2009 at 08:22:38AM -0800, Larry McVoy wrote:
>
> Dudes, sync() doesn't flush the fs cache, you have to unmount for that.
> Once upon a time Linux had an ioctl() to flush the fs buffers, I used
> it in lmbench.
>
> ioctl(fd, BLKFLSBUF, 0);
>
> No idea if that is still supported, but sync() is a joke for benchmarking.
Depends on what you are trying to do (flush has multiple meanings, so
using can be ambiguous). BLKFLSBUF will write out any dirty buffers,
*and* empty the buffer cache. I use it when benchmarking e2fsck
optimization. It doesn't do anything for the page cache. If you are
measuring the time to write a file, using fsync() or sync() will
include the time to actually write the data to disk. It won't empty
caches, though; if you are going to measure read as well as writes,
then you'll probably want to do something like "echo 3 >
/proc/sys/vm/drop-caches".
- Ted
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev
_______________________________________________
Jfs-discussion mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jfs-discussion