All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chris Mason <mason@suse.com>
To: tdickenson@geminidataloggers.com
Cc: Russell Coker <russell@coker.com.au>,
	berthiaume_wayne@emc.com, reiserfs-list@namesys.com
Subject: Re: fsync() Performance Issue
Date: 29 Apr 2002 12:45:54 -0400	[thread overview]
Message-ID: <1020098755.1735.195.camel@tiny> (raw)
In-Reply-To: <6tsqcu0887p2396p14cn2krqrhh1o0dhfk@4ax.com>

On Mon, 2002-04-29 at 12:32, Toby Dickenson wrote:

> >One thing that has occurred to me (which has not been previously discussed as 
> >far as I recall) is the possibility for using sync() instead of fsync() if 
> >you can accumulate a number of files (and therefore replace many fsync()'s 
> >with one sync() ).
> 
> I can see
> 
> write to file A
> write to file B
> write to file C
> sync
> 
> might be faster than
> 
> write to file A
> fsync A
> write to file B
> fsync B
> write to file C
> fsync C

Correct.

> 
> but is it possible for it to be faster than
> 
> write to file A
> write to file B
> write to file C
> fsync A
> fsync B
> fsync C

It depends on the rest of the system.  sync() goes through the big lru
list for the whole box, and fsync() goes through the private list for
just that inode.  If you've got other devices or files with dirty data,
case C that you presented will always be the fastest.  For general use,
I like this one the best, it is what the journal code is optimized for.

If files A, B, and C are the only dirty things on the whole box, a
single sync() will be slightly better, mostly due to reduced cpu time.

-chris



  reply	other threads:[~2002-04-29 16:45 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-04-26 20:28 fsync() Performance Issue berthiaume_wayne
2002-04-29 16:20 ` Russell Coker
2002-04-29 16:30   ` Chris Mason
2002-04-29 16:32   ` Toby Dickenson
2002-04-29 16:45     ` Chris Mason [this message]
2002-04-29 17:56     ` Matthias Andree
2002-04-29 18:58       ` Valdis.Kletnieks
2002-04-29 18:56         ` Hans Reiser
2002-04-30 14:20 ` Oleg Drokin
2002-04-30 14:27   ` Chris Mason
2002-05-02  5:07   ` Christian Stuke
2002-05-02  6:20     ` Oleg Drokin
  -- strict thread matches above, loose matches on Subject: below --
2002-04-29 17:26 berthiaume_wayne
2002-04-30 14:45 berthiaume_wayne
2002-05-03 20:35 berthiaume_wayne
2002-05-03 22:00 ` Chris Mason
2002-05-04  2:05   ` Hans Reiser
2002-05-04  5:41     ` Valdis.Kletnieks
2002-05-04 13:11     ` Chris Mason
2002-05-04 14:59       ` Hans Reiser
2002-05-06 12:40         ` Chris Mason
2002-05-06 13:02           ` Hans Reiser
2002-05-06 21:21           ` Hans Reiser
2002-05-06 22:57             ` Chris Mason
2002-05-06 23:41               ` Hans Reiser
2002-05-07  1:17               ` Manuel Krause
2002-05-07  2:04                 ` Chris Mason
2002-05-07 20:26                   ` Manuel Krause
2002-05-08  1:22                     ` Chris Mason
2002-05-06 12:54 berthiaume_wayne

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1020098755.1735.195.camel@tiny \
    --to=mason@suse.com \
    --cc=berthiaume_wayne@emc.com \
    --cc=reiserfs-list@namesys.com \
    --cc=russell@coker.com.au \
    --cc=tdickenson@geminidataloggers.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.