linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] nfs41: allow layoutget at pnfs_do_multiple_writes
@ 2011-12-03  4:52 Peng Tao
  2011-11-29 21:34 ` Boaz Harrosh
                   ` (4 more replies)
  0 siblings, 5 replies; 46+ messages in thread
From: Peng Tao @ 2011-12-03  4:52 UTC (permalink / raw)
  To: Trond.Myklebust; +Cc: linux-nfs, bhalevy

Issuing layoutget at .pg_init will drop the IO size information and ask for 4KB
layout every time. However, the IO size information is very valuable for MDS to
determine how much layout it should return to client.

The patchset try to allow LD not to send layoutget at .pg_init but instead at
pnfs_do_multiple_writes. So that real IO size is preserved and sent to MDS.

Tests against a server that does not aggressively pre-allocate layout, shows
that the IO size informantion is really useful to block layout MDS.

The generic pnfs layer changes are trival to file layout and object as long as
they still send layoutget at .pg_init.

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 lseg
  pnfsblock: do ask for layout in pg_init

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


^ permalink raw reply	[flat|nested] 46+ messages in thread

end of thread, other threads:[~2011-12-01 11:48 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-12-03  4:52 [PATCH 0/4] nfs41: allow layoutget at pnfs_do_multiple_writes Peng Tao
2011-11-29 21:34 ` Boaz Harrosh
2011-11-29 21:50   ` Boaz Harrosh
2011-11-29 21:57     ` Trond Myklebust
2011-11-29 22:40       ` Boaz Harrosh
2011-11-29 22:47         ` Trond Myklebust
2011-11-29 22:58           ` Boaz Harrosh
2011-11-29 23:30             ` Trond Myklebust
2011-11-29 23:49               ` Marc Eshel
2011-11-30  0:08                 ` Trond Myklebust
2011-11-30  0:20                   ` Marc Eshel
2011-11-30  0:37                     ` Trond Myklebust
2011-11-30  0:50                       ` Boaz Harrosh
2011-11-30 19:39                         ` J. Bruce Fields
2011-11-30  0:52                       ` Marc Eshel
2011-11-30 19:44                         ` J. Bruce Fields
2011-12-01  9:47                           ` Benny Halevy
2011-12-01 11:14                             ` J. Bruce Fields
2011-12-01 11:48                               ` J. Bruce Fields
2011-11-30  0:42                   ` Boaz Harrosh
2011-11-30  0:24               ` Boaz Harrosh
2011-11-30  0:58                 ` Trond Myklebust
2011-11-30  1:46                   ` Boaz Harrosh
2011-11-30  2:07                     ` Trond Myklebust
2011-11-30  3:08                       ` Boaz Harrosh
2011-11-30 12:33                   ` Benny Halevy
2011-11-30  0:37           ` Matt W. Benjamin
2011-11-30  0:48             ` Matt W. Benjamin
2011-11-30  1:01               ` Trond Myklebust
2011-11-30  1:03                 ` Matt W. Benjamin
2011-11-29 23:01         ` Trond Myklebust
2011-11-29 23:47           ` Boaz Harrosh
2011-11-30  3:16   ` tao.peng
2011-11-30  3:50     ` Boaz Harrosh
2011-11-30  5:05       ` tao.peng
2011-11-30 12:42         ` Benny Halevy
2011-12-03  4:52 ` [PATCH 1/4] nfsv41: export pnfs_find_alloc_layout Peng Tao
2011-12-03  4:52 ` [PATCH 2/4] nfsv41: add and export pnfs_find_get_layout_locked Peng Tao
2011-12-03  4:52 ` [PATCH 3/4] nfsv41: get lseg before issue LD IO if pgio doesn't carry lseg Peng Tao
2011-11-30 13:01   ` Benny Halevy
2011-11-30 13:20     ` Peng Tao
2011-12-03  4:52 ` [PATCH 4/4] pnfsblock: do ask for layout in pg_init Peng Tao
2011-11-29 16:40   ` Trond Myklebust
2011-11-29 17:25     ` Peng Tao
2011-11-29 17:43       ` Trond Myklebust
2011-11-30  2:55         ` tao.peng

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).