linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jamie Lokier <jamie@shareable.org>
To: Andi Kleen <andi@firstfloor.org>
Cc: Theodore Tso <tytso@mit.edu>, Eric Sandeen <sandeen@redhat.com>,
	Alexey Zaytsev <alexey.zaytsev@gmail.com>,
	linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	Rik van Riel <riel@surriel.com>
Subject: Re: Mentor for a GSoC application wanted (Online ext2/3 filesystem checker)
Date: Mon, 21 Apr 2008 12:51:58 +0100	[thread overview]
Message-ID: <20080421115158.GB4193@shareable.org> (raw)
In-Reply-To: <20080421080111.GD14446@one.firstfloor.org>

Andi Kleen wrote:
> On Mon, Apr 21, 2008 at 12:42:42AM +0100, Jamie Lokier wrote:
> > Andi Kleen wrote:
> > > [LVM] always disables barriers if you don't apply a so far unmerged
> > > patch that enables them in some special circumstances (only single
> > > backing device)
> > 
> > (I continue to be surprised at the un-safety of Linux fsync)
> 
> Note barrier less does not necessarily always mean unsafe fsync,
> it just often means that.
> 
> Also surprisingly lot more syncs or write cache off tend to lower the MTBF 
> of your disk significantly, so "unsafer" fsync might actually be more safe
> for your unbackuped data.

That's really interesting, thanks.  Do you have something to cite
about syncs reducing the MTBF?

( I'm really glad I added barriers instead of write cache off to my
2.4.26 based disk using devices now ;-) )

> > > Not having barriers sometimes makes your workloads faster (and less
> > > safe) and in other cases slower.
> > 
> > I'm curious, how does it make them slower?  Merely not issuing barrier
> > calls seems like it will always be the same speed or faster.
> 
> Some setups detect the no barrier case and switch to full sync +
> wait (or write cache off) which depending on the disk supporting NCQ
> can be slower.

But to issue full syncs, that's implemented as barrier calls in the
block request layers isn't it?  The filesystem isn't given a facility
to request the block device do full syncs or disable the write cache.

So when a blockdev doesn't offer barriers to the filesystem, it means
the driver doesn't support full syncs or cache disabling either, since
if it did, the request layer would expose them to the fs as barriers.

What am I missing from this picture?  Do you mean that manual setup
(such as by a DBA) tends to disable the write cache?

Thanks,
-- Jamie

  parent reply	other threads:[~2008-04-21 11:52 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <f19298770804180720w2e72b821j95b709c1dd1b1c25@mail.gmail.com>
     [not found] ` <20080419012952.GE25797@mit.edu>
2008-04-19  9:44   ` Mentor for a GSoC application wanted (Online ext2/3 filesystem checker) Alexey Zaytsev
2008-04-19 18:56     ` Theodore Tso
2008-04-19 19:07       ` Eric Sandeen
2008-04-19 22:04         ` Theodore Tso
2008-04-20  1:24           ` Eric Sandeen
2008-04-20 23:30           ` Andi Kleen
2008-04-20 23:42             ` Jamie Lokier
2008-04-21  8:01               ` Andi Kleen
     [not found]               ` <20080421080111.GD14446@one.firstfloor.org>
2008-04-21 11:51                 ` Jamie Lokier [this message]
2008-04-21 17:29                 ` Ricardo M. Correia
2008-04-21 17:40                   ` Andi Kleen
2008-04-21 18:27                     ` Ricardo M. Correia
2008-04-22 14:48                     ` Jamie Lokier
2008-04-21 18:15                 ` Ric Wheeler
2008-04-21 18:25                   ` Eric Sandeen
2008-04-21 18:44                     ` Ric Wheeler
2008-04-21 18:58                       ` Matthew Wilcox
2008-04-21 19:11                         ` Ric Wheeler
2008-04-21  0:27         ` Alexey Zaytsev
2008-04-21  9:45           ` Andi Kleen
2008-04-22 16:54         ` Peter Teoh
2008-04-22 17:02           ` Eric Sandeen
2008-04-22 23:37             ` Andreas Dilger
2008-04-23  0:52               ` Eric Sandeen
     [not found]           ` <480E4950.1090300@oracle.com>
     [not found]             ` <804dabb00804221633g1f61029dh7b27737134fc0b7a@mail.gmail.com>
     [not found]               ` <480E7954.9090408@oracle.com>
2008-04-23  1:02                 ` Peter Teoh
2008-04-20 23:37       ` Andi Kleen
2008-04-21  2:33         ` Theodore Tso
2008-04-21 14:43           ` Andi Kleen
2008-04-21  0:23       ` Alexey Zaytsev
2008-04-21 12:53         ` Theodore Tso

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=20080421115158.GB4193@shareable.org \
    --to=jamie@shareable.org \
    --cc=alexey.zaytsev@gmail.com \
    --cc=andi@firstfloor.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=riel@surriel.com \
    --cc=sandeen@redhat.com \
    --cc=tytso@mit.edu \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).