linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Peng Tao <bergwolf@gmail.com>
To: linux-nfs@vger.kernel.org
Cc: Trond.Myklebust@netapp.com, bhalevy@tonian.com
Subject: [PATCH RFC 0/4] nfsv41/pnfsblock: allow block client not to layoutget in pg_init
Date: Sat, 19 Nov 2011 08:53:12 -0800	[thread overview]
Message-ID: <1321721596-3293-1-git-send-email-bergwolf@gmail.com> (raw)

Asking for layout in pg_init will always let client ask for only 4KB
layout in every layoutget. This way, client drops the IO size information.

In such case, server needs to pre-allocate layout to allow better performance.
However, IO size information is very useful for MDS to determine how much layout
it gives client. This is more important for block layout MDS because it needs to
pre-allocate disk for layoutget that extends file size.

Initial tests against a server that does not aggressively pre-allocate layout,
shows that passing IO size information to server helps to improve performance
quite a lot.

The generic pnfs layer changes are trival to file layout and object.

iozone cmd:
./iozone -r 1m -s 4G -w -W -c -t 10 -i 0 -F /mnt/iozone.data.1 /mnt/iozone.data.2 /mnt/iozone.data.3 /mnt/iozone.data.4 /mnt/iozone.data.5 /mnt/iozone.data.6 /mnt/iozone.data.7 /mnt/iozone.data.8 /mnt/iozone.data.9 /mnt/iozone.data.10

Befor patch: around 12MB/s throughput
After patch: around 72MB/s throughput

Peng Tao (4):
  nfsv41: export pnfs_find_alloc_layout
  nfsv41: add and export pnfs_find_get_layout_locked
  nfsv41: get lseg before issue LD IO if pgio doesn't carry one
  pnfsblock: do not ask for layout in pg_init

 fs/nfs/blocklayout/blocklayout.c |   54 +++++++++++++++++++++++++++-
 fs/nfs/pnfs.c                    |   73 +++++++++++++++++++++++++++++++++++++-
 fs/nfs/pnfs.h                    |    9 +++++
 3 files changed, 133 insertions(+), 3 deletions(-)


             reply	other threads:[~2011-11-19 16:53 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-19 16:53 Peng Tao [this message]
2011-11-19 16:53 ` [PATCH RFC 1/4] nfsv41: export pnfs_find_alloc_layout Peng Tao
2011-11-19 16:53 ` [PATCH RFC 2/4] nfsv41: add and export pnfs_find_get_layout_locked Peng Tao
2011-11-19 16:53 ` [PATCH RFC 3/4] nfsv41: get lseg before issue LD IO if pgio doesn't carry one Peng Tao
2011-11-19 16:53 ` [PATCH RFC 4/4] pnfsblock: do ask for layout in pg_init Peng Tao

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=1321721596-3293-1-git-send-email-bergwolf@gmail.com \
    --to=bergwolf@gmail.com \
    --cc=Trond.Myklebust@netapp.com \
    --cc=bhalevy@tonian.com \
    --cc=linux-nfs@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).