All of lore.kernel.org
 help / color / mirror / Atom feed
From: Quentin Barnes <qbarnes+nfs@yahoo-inc.com>
To: linux-nfs@vger.kernel.org
Subject: Difference between v2.6.31 and v2.6.32 spikes READs
Date: Tue, 5 Jan 2010 17:23:42 -0600	[thread overview]
Message-ID: <20100105232342.GA22969@yahoo-inc.com> (raw)

I moved from v2.6.31.3 to v2.6.32.2 and noticed a huge spike in the
number of NFSv3 READs issued for the application I'm porting.  The
app has a mixed load of short NFS I/O operations, but about 50% of
the time the app is doing an open(2), append to the file a small
amount of data (~300 bytes), then closes the file.  On v2.6.31.3,
this resulted in a LOOKUP, ACCESS, and a WRITE of 300 bytes.  Now
for the append operations with v2.6.32.2, I see LOOKUP, ACCESS,
READ, and WRITE.

Here's the network trace for an append with 2.6.31.3:
===========
LOOKUP Call, DH:0x0308031e/scr2
LOOKUP Reply, FH:0x29f0b5d0
ACCESS Call, FH:0x29f0b5d0
ACCESS Reply
WRITE Call, FH:0x29f0b5d0 Offset:17284 Len:300 UNSTABLE
WRITE Reply Len:300 UNSTABLE
COMMIT Call, FH:0x29f0b5d0
COMMIT Reply
===========

And for 2.6.32.2:
===========
LOOKUP Call, DH:0x0308031e/scr2
LOOKUP Reply, FH:0x29f0b5d0
ACCESS Call, FH:0x29f0b5d0
ACCESS Reply
READ Call, FH:0x29f0b5d0 Offset:16384 Len:900
READ Reply Len:900
WRITE Call, FH:0x29f0b5d0 Offset:16384 Len:1200 UNSTABLE
WRITE Reply Len:1200 UNSTABLE
COMMIT Call, FH:0x29f0b5d0
COMMIT Reply
===========

My think the behavior change is due to "read-modify-write page
updating" patch with adding the nfs_want_read_modify_write()
function, but that's just a guess.

Even with the additional READs, in some modes of the app performance
has gone up with v2.6.32 by 4.0%.  (Good!)  However, in other modes,
it has dropped 22%.  (Not good!)

If my guess is right, I'm wondering if the read-modify-write
updating patch accounted for files opened read-write, but only
written to or appended to before closing.

Can the read-modify-write page updating be altered to better handle
opens in read-write (O_RDWR) that only end up writing before
closing?

Quentin

             reply	other threads:[~2010-01-05 23:42 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-05 23:23 Quentin Barnes [this message]
2010-01-06 18:04 ` Difference between v2.6.31 and v2.6.32 spikes READs Peter Staubach
2010-01-21  1:22   ` Quentin Barnes

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=20100105232342.GA22969@yahoo-inc.com \
    --to=qbarnes+nfs@yahoo-inc.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.