CEPH filesystem development
 help / color / mirror / Atom feed
From: Mark Nelson <mark.nelson@inktank.com>
To: "Sage Weil" <sweil@redhat.com>, 马建朋 <majianpeng@gmail.com>
Cc: ceph-devel <ceph-devel@vger.kernel.org>
Subject: Re: file journal fadvise
Date: Mon, 01 Dec 2014 13:18:18 -0600	[thread overview]
Message-ID: <547CBEFA.3000204@redhat.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1411301922220.352@cobra.newdream.net>

On 11/30/2014 09:26 PM, Sage Weil wrote:
> On Mon, 1 Dec 2014, ??? wrote:
>> Hi sage:
>>   For fadvise_random it only change the file readahead. I think it make
>> no sense for xfs
>> Becasue xfs don't like btrfs, the journal write always on old place(at
>> first allocated). We only can make those place contiguous.
>
> I'm thinking of the OSD journal, which can be a regular file.  I guess it
> would probably be an allocator mode, set via a XFS_XFLAG_* flag passed to
> an ioctl, which makes the delayed allocation especially unconcerned with
> keeping blocks contiguous.  It would need to be combined with the discard
> ioctl so that any journal write can be allocated wherever it is most
> convenient (hopefully contiguous to some other write).
>
> sage

Hi Sage,

Could you quick write down the steps you are thinking we'd take to 
implement this?  I'm concerned about the amount of overhead this could 
cause but I want to make sure I'm thinking about it correctly. 
Especially when trim happens and what you think/expect to happens at the 
FS and device levels.

Mark

>
>
>>
>> Thanks!
>> Jianpeng
>>
>> 2014-12-01 2:46 GMT+08:00 Sage Weil <sweil@redhat.com>:
>>> Currently, when an OSD journal is stored as a file, we preallocate it as a
>>> large contiguous extent.  That means that for every journal write we're
>>> seeking back to wherever the journal is.  That possibly not ideal for
>>> writes.  For reads it's great, but that's the last thing we care about
>>> optimizing (we only read the journal after a failure, which is very rare).
>>>
>>> I wonder if we would do better if we:
>>>
>>>   1- trim/discard the old journal contents,
>>>   2- posix_fadvise RANDOM
>>>
>>> I'm not sure what the XFS behavior is in this case, but ideally it seems
>>> what we want it to do is write the journal wherever on disk it is most
>>> convenient... ideally contiguous with some other write that it is already
>>> doing.  If fadvise random doesn't do that, perhaps there is another
>>> allocator hint we can give it that will get us that behavior...
>>>
>>> sage
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> --
>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
>>

  reply	other threads:[~2014-12-01 19:18 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-30 18:46 file journal fadvise Sage Weil
2014-12-01  2:09 ` 马建朋
2014-12-01  3:26   ` Sage Weil
2014-12-01 19:18     ` Mark Nelson [this message]
2014-12-01 19:23       ` Sage Weil
2014-12-01 22:31         ` Mark Nelson
2014-12-01 22:51           ` Dave Chinner
2014-12-02  0:12             ` Sage Weil
2014-12-02  0:32               ` Dave Chinner
2014-12-02  1:24                 ` Sage Weil
2014-12-02  2:01                   ` Dave Chinner

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=547CBEFA.3000204@redhat.com \
    --to=mark.nelson@inktank.com \
    --cc=ceph-devel@vger.kernel.org \
    --cc=majianpeng@gmail.com \
    --cc=mnelson@redhat.com \
    --cc=sweil@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