[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20131008094144.GA10261@infradead.org>
Date: Tue, 8 Oct 2013 02:41:44 -0700
From: Christoph Hellwig <hch@...radead.org>
To: device-mapper development <dm-devel@...hat.com>
Cc: Akira Hayakawa <ruby.wktk@...il.com>, devel@...verdev.osuosl.org,
thornber@...hat.com, snitzer@...hat.com,
gregkh@...uxfoundation.org, linux-kernel@...r.kernel.org,
mpatocka@...hat.com, dan.carpenter@...cle.com, joe@...ches.com,
akpm@...ux-foundation.org, m.chehab@...sung.com, ejt@...hat.com,
agk@...hat.com, cesarb@...arb.net
Subject: Re: [dm-devel] Reworking dm-writeboost [was: Re: staging: Add
dm-writeboost]
On Tue, Oct 08, 2013 at 10:43:07AM +1100, Dave Chinner wrote:
> > Maybe, writeboost should disable deferring barriers
> > if barrier_deadline_ms parameter is especially 0.
> > Linux kernel's layered architecture is obviously not always perfect
> > so there are similar cases in other boundaries
> > such as O_DIRECT to bypass the page cache.
>
> Right - but you can't detect O_DIRECT at the dm layer. IOWs, you're
> relying on the user tweaking the corect knobs for their workload.
You can detect O_DIRECT writes by second guession a special combination
of REQ_ flags only used there, as cfg tries to treat it special:
#define WRITE_SYNC (WRITE | REQ_SYNC | REQ_NOIDLE)
#define WRITE_ODIRECT (WRITE | REQ_SYNC)
the lack of REQ_NOIDLE when REQ_SYNC is set gives it away. Not related
to the FLUSH or FUA flags in any way, though.
Akira, can you explain the workloads where your delay of FLUSH or FUA
requests helps you in any way? I very much agree with Dave's reasoning,
but if you found workloads where your hack helps we should make sure we
fix them at the place where they are issued.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists