From: Florian Weimer <fw@deneb.enyo.de>
To: git@vger.kernel.org
Subject: Re: reducing prune sync()s
Date: Fri, 30 May 2008 22:07:18 +0200 [thread overview]
Message-ID: <87iqwvo8sp.fsf@mid.deneb.enyo.de> (raw)
In-Reply-To: <alpine.LFD.1.10.0805291727490.3141@woody.linux-foundation.org> (Linus Torvalds's message of "Thu, 29 May 2008 17:32:30 -0700 (PDT)")
* Linus Torvalds:
> Side note: a lot of systems make "fsync()" pretty expensive too. It's one
> of my main disagreements with most log-based filesystems - fsync() can in
> theory be fast, but almost always implies flushing the whole log, even if
> 99.9% of that log is totally unrelated to the actual file you want to
> fsync().
And flushing the whole log might be less expensive than several partial
flushes with ordering constraints. If Linux ever gets support for
partial log flushes, I suppose you could restore the previous
performance by using sync_file_range() with approriate flags (to get the
data in flight to disk), followed by a second round of calls to to
fsync() (to actually wait for I/O completion).
> So fsync() isn't always all that much better than sync().
sync() is potentially a no-op, particularly if some of the targeted
files are still open.
next prev parent reply other threads:[~2008-05-30 20:08 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-29 20:57 reducing prune sync()s Frank Ch. Eigler
2008-05-30 0:27 ` Linus Torvalds
2008-05-30 0:32 ` Linus Torvalds
2008-05-30 1:50 ` Frank Ch. Eigler
2008-05-30 20:07 ` Florian Weimer [this message]
2008-05-30 1:51 ` David Dillow
2008-05-30 2:17 ` Linus Torvalds
2008-05-30 2:30 ` Linus Torvalds
2008-05-30 15:25 ` Frank Ch. Eigler
2008-05-30 15:57 ` Linus Torvalds
2008-05-30 16:08 ` [PATCH 1/2] Make pack creation always fsync() the result Linus Torvalds
2008-05-30 16:11 ` [PATCH 2/2] Remove now unnecessary 'sync()' calls Linus Torvalds
2008-05-30 20:27 ` [PATCH 1/2] Make pack creation always fsync() the result Nicolas Pitre
2008-05-31 14:19 ` Frank Ch. Eigler
2008-06-02 22:23 ` Linus Torvalds
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=87iqwvo8sp.fsf@mid.deneb.enyo.de \
--to=fw@deneb.enyo.de \
--cc=git@vger.kernel.org \
/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.