linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: David Woodhouse <dwmw2@infradead.org>
To: Hugh Dickins <hugh@veritas.com>
Cc: Jens Axboe <jens.axboe@oracle.com>,
	linux-fsdevel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [RFC PATCH] discarding swap
Date: Fri, 12 Sep 2008 09:22:08 -0700	[thread overview]
Message-ID: <1221236528.21323.22.camel@macbook.infradead.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0809121631050.5142@blonde.site>

On Fri, 2008-09-12 at 16:52 +0100, Hugh Dickins wrote:
> On Fri, 12 Sep 2008, David Woodhouse wrote:
> > On Fri, 2008-09-12 at 13:10 +0100, Hugh Dickins wrote:
> > > So long as the I/O schedulers guarantee that a WRITE bio submitted
> > > to an area already covered by a DISCARD_NOBARRIER bio cannot pass that
> > > DISCARD_NOBARRIER - ...
> > 
> > > That seems a reasonable guarantee to me, and perhaps it's trivially
> > > obvious to those who know their I/O schedulers; but I don't, so I'd
> > > like to hear such assurance given.
> > 
> > No, that's the point. the I/O schedulers _don't_ give you that guarantee
> > at all. They can treat DISCARD_NOBARRIER just like a write. That's all
> > it is, really -- a special kind of WRITE request without any data.
> 
> Hmmm.  In that case I'll need to continue with DISCARD_BARRIER,
> unless/until I rejig swap allocation to wait for discard completion,
> which I've no great desire to do.
> 
> Is there any particular reason why DISCARD_NOBARRIER shouldn't be
> enhanced to give the intuitive guarantee I suggest?  It is distinct
> from a WRITE, I don't see why it has to be treated in the same way
> if that's unhelpful to its users.

The semantics we want would be something like "when a WRITE or DISCARD
request is submitted, automatically turn it into a soft barrier if there
is already an outstanding WRITE or DISCARD request overlapping the same
sectors".

Detecting overlap isn't hard in the single-queue case, but things like
CFQ make it interesting -- you'd have to search _every_ queue. And you
couldn't just do it when inserting barriers -- you need a write to gain
the barrier flag, if it's inserted after a discard. So we really do care
about the performance.

I agree it would be nice to have if we can do it cheaply enough, though.

> I expect the answer will be: it could be so enhanced, but we really
> don't know if it's worth adding special code for that without the
> experience of more users.

That too. We don't yet really know how much the DISCARD requests buy us
in terms of performance or device lifetime. It'll depend a lot on the
internals of the devices, and we don't get told a lot about that.

-- 
David Woodhouse                            Open Source Technology Centre
David.Woodhouse@intel.com                              Intel Corporation

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2008-09-12 16:22 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-09 21:28 Hugh Dickins
2008-09-10 17:35 ` Jens Axboe
2008-09-10 19:51   ` Hugh Dickins
2008-09-10 21:28     ` David Woodhouse
2008-09-12 12:10       ` Hugh Dickins
2008-09-12 14:09         ` David Woodhouse
2008-09-12 15:52           ` Hugh Dickins
2008-09-12 16:22             ` David Woodhouse [this message]
2008-09-12 17:46               ` Hugh Dickins
2008-09-12 16:50             ` Jamie Lokier
2008-09-12 17:25               ` Hugh Dickins
2008-09-11  8:58     ` Jens Axboe
2008-09-11 10:47       ` Hugh Dickins

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=1221236528.21323.22.camel@macbook.infradead.org \
    --to=dwmw2@infradead.org \
    --cc=hugh@veritas.com \
    --cc=jens.axboe@oracle.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-mm@kvack.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox