From: Ted Ts'o <tytso@mit.edu>
To: Christoph Hellwig <hch@lst.de>
Cc: "Darrick J. Wong" <djwong@us.ibm.com>,
Jens Axboe <axboe@kernel.dk>, Neil Brown <neilb@suse.de>,
Andreas Dilger <adilger.kernel@dilger.ca>,
Alasdair G Kergon <agk@redhat.com>, Jan Kara <jack@suse.cz>,
Mike Snitzer <snitzer@redhat.com>,
linux-kernel <linux-kernel@vger.kernel.org>,
linux-raid@vger.kernel.org, Keith Mannthey <kmannth@us.ibm.com>,
dm-devel@redhat.com, Mingming Cao <cmm@us.ibm.com>,
Tejun Heo <tj@kernel.org>,
linux-ext4@vger.kernel.org, Ric Wheeler <rwheeler@redhat.com>,
Josef Bacik <josef@redhat.com>
Subject: Patch to issue pure flushes directly (Was: Re: [PATCH v6 0/4] ext4: Coordinate data-only flush requests sent) by fsync
Date: Fri, 7 Jan 2011 18:54:49 -0500 [thread overview]
Message-ID: <20110107235449.GT21922@thunk.org> (raw)
In-Reply-To: <20101130164124.GA30858@lst.de>
This patch seemed like a good idea to me; I just checked linux-next,
and looks like nothing like this is planned to be merged. Just
thought I would send a prod-o-gram to see what the current thinking
was around adding something like this.
Thanks,
- Ted
On Tue, Nov 30, 2010 at 05:41:24PM +0100, Christoph Hellwig wrote:
> FYI, here's an updated version of my patch to not run pure flushes
> that also works on SCSI/ATA and not just virtio. I suspect the patch
> alone might not be enough, but together with a variant of Neil's
> suggestion might do the trick, with my patch taking care of the
> highend-devices and Neil's scheme of taking care of stupid SATA disks.
>
>
> Index: linux-2.6/block/blk-flush.c
> ===================================================================
> --- linux-2.6.orig/block/blk-flush.c 2010-11-30 17:27:33.108254088 +0100
> +++ linux-2.6/block/blk-flush.c 2010-11-30 17:27:38.790004333 +0100
> @@ -143,6 +143,17 @@ struct request *blk_do_flush(struct requ
> unsigned skip = 0;
>
> /*
> + * Just issue pure flushes directly.
> + */
> + if (!blk_rq_sectors(rq)) {
> + if (!do_preflush) {
> + __blk_end_request_all(rq, 0);
> + return NULL;
> + }
> + return rq;
> + }
> +
> + /*
> * Special case. If there's data but flush is not necessary,
> * the request can be issued directly.
> *
> Index: linux-2.6/drivers/scsi/scsi_lib.c
> ===================================================================
> --- linux-2.6.orig/drivers/scsi/scsi_lib.c 2010-11-30 17:27:33.120254298 +0100
> +++ linux-2.6/drivers/scsi/scsi_lib.c 2010-11-30 17:27:38.791003634 +0100
> @@ -1060,7 +1060,7 @@ int scsi_setup_blk_pc_cmnd(struct scsi_d
> * that does not transfer data, in which case they may optionally
> * submit a request without an attached bio.
> */
> - if (req->bio) {
> + if (req->bio && !(req->cmd_flags & REQ_FLUSH)) {
> int ret;
>
> BUG_ON(!req->nr_phys_segments);
next prev parent reply other threads:[~2011-01-07 23:54 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-29 22:05 [PATCH v6 0/4] ext4: Coordinate data-only flush requests sent by fsync Darrick J. Wong
2010-11-29 22:05 ` Darrick J. Wong
2010-11-29 22:05 ` [PATCH 1/4] block: Measure flush round-trip times and report average value Darrick J. Wong
2010-11-29 22:05 ` Darrick J. Wong
2010-12-02 9:49 ` Lukas Czerner
2010-11-29 22:05 ` [PATCH 2/4] md: Compute average flush time from component devices Darrick J. Wong
2010-11-29 22:05 ` Darrick J. Wong
2010-11-29 22:05 ` [PATCH 3/4] dm: " Darrick J. Wong
2010-11-29 22:05 ` Darrick J. Wong
2010-11-30 5:21 ` Mike Snitzer
2010-11-29 22:06 ` [PATCH 4/4] ext4: Coordinate data-only flush requests sent by fsync Darrick J. Wong
2010-11-29 22:06 ` Darrick J. Wong
2010-11-29 23:48 ` [PATCH v6 0/4] " Ric Wheeler
2010-11-30 0:19 ` Darrick J. Wong
2010-12-01 0:14 ` Mingming Cao
2010-11-30 0:39 ` Neil Brown
2010-11-30 0:48 ` Ric Wheeler
2010-11-30 1:26 ` Neil Brown
2010-11-30 23:32 ` Darrick J. Wong
2010-11-30 13:45 ` Tejun Heo
2010-11-30 13:58 ` Ric Wheeler
2010-11-30 16:43 ` Christoph Hellwig
2010-11-30 23:31 ` Darrick J. Wong
2010-11-30 16:41 ` Christoph Hellwig
2011-01-07 23:54 ` Ted Ts'o [this message]
2011-01-08 7:45 ` Patch to issue pure flushes directly (Was: Re: [PATCH v6 0/4] ext4: Coordinate data-only flush requests sent) " Christoph Hellwig
2011-01-08 7:45 ` Christoph Hellwig
2011-01-08 7:45 ` Christoph Hellwig
2011-01-08 7:45 ` Christoph Hellwig
2011-01-08 14:08 ` Tejun Heo
2011-01-04 16:27 ` [RFC PATCH v7] ext4: Coordinate data-only flush requests sent " Darrick J. Wong
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=20110107235449.GT21922@thunk.org \
--to=tytso@mit.edu \
--cc=adilger.kernel@dilger.ca \
--cc=agk@redhat.com \
--cc=axboe@kernel.dk \
--cc=cmm@us.ibm.com \
--cc=djwong@us.ibm.com \
--cc=dm-devel@redhat.com \
--cc=hch@lst.de \
--cc=jack@suse.cz \
--cc=josef@redhat.com \
--cc=kmannth@us.ibm.com \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-raid@vger.kernel.org \
--cc=neilb@suse.de \
--cc=rwheeler@redhat.com \
--cc=snitzer@redhat.com \
--cc=tj@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.