public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Chris Mason <mason@suse.com>
To: Jeff Garzik <jgarzik@pobox.com>
Cc: "Stephen C. Tweedie" <sct@redhat.com>,
	Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>,
	Jens Axboe <axboe@suse.de>,
	Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] barrier patch set
Date: Wed, 31 Mar 2004 17:09:42 -0500	[thread overview]
Message-ID: <1080770982.3546.207.camel@watt.suse.com> (raw)
In-Reply-To: <406B3799.5060203@pobox.com>

On Wed, 2004-03-31 at 16:26, Jeff Garzik wrote:
>  
> > Yes, it gets ugly in a hurry.  Jeff, look at the whole thread about the
> > O_DIRECT read vs buffered write races.  I don't think we can use FUA for
> 
> Yes, I'm aware of the thread...
> 
> 
> > fsync or O_SYNC without using it for every write.
> 
> Why not for O_SYNC?  Is some crazy userspace application flipping this 
> bit on and off rapidly?
> 

For both fsync and O_SYNC, the pages we want to write synchronously are
also available for some other part of the kernel to write async.  Since
we do know the write is going to be O_SYNC when we are marking the pages
dirty, we could mark them dirty_fua or something as well.

Even assuming we can deal with the data=ordered ext3/reiserfs issues, it
makes the writeback for O_SYNC yet another corner case to check, and one
where we have no useful way to make sure the fua bit really got set on
all the writes for a given O_SYNC (unless we pin the page and check each
one after the writes are complete).

Since O_DIRECT is much less complex I think we should start there.

-chris




  reply	other threads:[~2004-03-31 22:09 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-19 15:35 [PATCH] barrier patch set Jens Axboe
2004-03-19 16:30 ` Mika Penttilä
2004-03-19 18:16   ` Jens Axboe
2004-03-19 18:44     ` Mika Penttilä
2004-03-20  9:55       ` Jens Axboe
2004-03-19 16:34 ` Jeff Garzik
2004-03-19 18:19   ` Jens Axboe
2004-03-19 23:01   ` Matthias Andree
2004-03-20  0:02     ` Bartlomiej Zolnierkiewicz
2004-03-20  1:48       ` Johannes Stezenbach
2004-03-20  2:13         ` Bartlomiej Zolnierkiewicz
2004-03-20  2:53           ` Johannes Stezenbach
2004-03-20 16:03             ` Bartlomiej Zolnierkiewicz
2004-03-20 11:36           ` Matthias Andree
2004-03-20 16:00             ` Bartlomiej Zolnierkiewicz
2004-03-20 23:36               ` Johannes Stezenbach
2004-03-21  1:33                 ` Bartlomiej Zolnierkiewicz
2004-03-20 18:52       ` Helge Hafting
2004-03-22 11:15         ` Matthias Andree
2004-03-19 23:59   ` Bartlomiej Zolnierkiewicz
2004-03-20  0:14     ` Jeff Garzik
2004-03-20  0:40       ` Bartlomiej Zolnierkiewicz
2004-03-20  0:42         ` Jeff Garzik
2004-03-20  1:24           ` Bartlomiej Zolnierkiewicz
2004-03-20  9:58             ` Jens Axboe
2004-03-20 10:12               ` Jeff Garzik
2004-03-20 10:19                 ` Jens Axboe
2004-03-20 10:37                   ` Jeff Garzik
2004-03-20 16:30                     ` Bartlomiej Zolnierkiewicz
2004-03-21 18:12                       ` Jeff Garzik
2004-03-20 10:21             ` Jeff Garzik
2004-03-20 15:54               ` Bartlomiej Zolnierkiewicz
2004-03-20  0:17     ` Jeff Garzik
2004-03-20  9:53     ` Jens Axboe
2004-03-20 16:23       ` Bartlomiej Zolnierkiewicz
2004-03-20 16:27         ` Jens Axboe
2004-03-20 16:32         ` Chris Mason
2004-03-20 17:05           ` Bartlomiej Zolnierkiewicz
2004-03-20 17:10             ` Chris Mason
2004-03-20 20:16               ` Bartlomiej Zolnierkiewicz
2004-03-21  9:43                 ` Jens Axboe
2004-03-30 16:04             ` Stephen C. Tweedie
2004-03-30 19:19               ` Chris Mason
2004-03-30 21:50                 ` Stephen C. Tweedie
2004-03-30 22:13                   ` Chris Mason
2004-03-31 14:03                     ` Stephen C. Tweedie
2004-03-31 14:27                       ` Chris Mason
2004-03-31 18:28                         ` Ric Wheeler
2004-03-30 22:21                   ` Jeff Garzik
2004-03-30 22:36                     ` Chris Wedgwood
2004-03-30 22:39                       ` Jeff Garzik
2004-03-30 22:41                         ` Chris Wedgwood
2004-03-30 22:40                     ` Bartlomiej Zolnierkiewicz
2004-03-30 22:38                       ` Jeff Garzik
2004-03-31 14:08                     ` Stephen C. Tweedie
2004-03-31 14:21                       ` Chris Mason
2004-03-31 21:26                         ` Jeff Garzik
2004-03-31 22:09                           ` Chris Mason [this message]
2004-03-31 21:27                       ` Jeff Garzik
2004-03-19 16:48 ` Marc-Christian Petersen
2004-03-19 18:19   ` Jens Axboe
2004-03-22 11:09 ` Andrew Morton
2004-03-22 11:10   ` Jens Axboe

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=1080770982.3546.207.camel@watt.suse.com \
    --to=mason@suse.com \
    --cc=B.Zolnierkiewicz@elka.pw.edu.pl \
    --cc=axboe@suse.de \
    --cc=jgarzik@pobox.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sct@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox