From: Bernd Schubert <bernd-schubert@gmx.de>
To: nfs@lists.sourceforge.net
Cc: "J. Bruce Fields" <bfields@fieldses.org>,
"Brian J. Murrell" <brian@interlinx.bc.ca>
Subject: Re: slowness due to splitting into pages in nfs3svc_decode_writeargs ()
Date: Sat, 1 Sep 2007 01:34:03 +0200 [thread overview]
Message-ID: <200709010134.03876.bernd-schubert@gmx.de> (raw)
In-Reply-To: <20070831190001.GD11165@fieldses.org>
On Friday 31 August 2007, J. Bruce Fields wrote:
> On Fri, Aug 31, 2007 at 02:52:15PM -0400, Brian J. Murrell wrote:
> > On Fri, 2007-08-31 at 14:45 -0400, J. Bruce Fields wrote:
> > > Hm. Any chance this is the same problem?:
> > >
> > > http://marc.info/?l=linux-nfs&m=112289652218095&w=2
> >
> > Did this ever land anywhere?
>
> No--I think there were some discussion of problems in the followup
> posts.
To sum up this discussion:
There are two choices to move the data:
1.) To page 2 ... n - this will overwrite nfsv4 at the end of page n.
2.) To page 1 ... n - 1 - this will overwrite the header, thus, all pointers
to that memory will point to wrong data now.
Seems both aproaches are troublesome and nobody bothered to implement it. Not
that I much like the idea of data moving at all, but what about
3.) On allocating the pages, allocate one page more than required. After
filling in page 1, skip page 2 and proceed with page 3.
Now we would have space to properly move the data later on, thus:
memcpy (page2, page1 + hdr, PAGE_SIZE - hdr_length)
memcpy (page2 + PAGE_SIZE - hdr_length, page3, hdr_length)
memmove(page3, page3 + hdr_length, PAGE_SIZE - hdr_length)
[...]
Can you point me to the function assigning the data-block from the network to
the page-vector?
Thanks,
Bernd
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
NFS maillist - NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs
next prev parent reply other threads:[~2007-08-31 23:34 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-31 18:03 slowness due to splitting into pages in nfs3svc_decode_writeargs() Bernd Schubert
2007-08-31 18:45 ` J. Bruce Fields
2007-08-31 18:52 ` Brian J. Murrell
2007-08-31 19:00 ` J. Bruce Fields
2007-08-31 23:34 ` Bernd Schubert [this message]
2007-08-31 21:34 ` slowness due to splitting into pages in nfs3svc_decode_writeargs () Bernd Schubert
2007-08-31 21:43 ` slowness due to splitting into pages in?nfs3svc_decode_writeargs() J. Bruce Fields
2007-08-31 21:55 ` Bernd Schubert
2007-09-03 20:02 ` slowness due to splitting into pages in nfs3svc_decode_writeargs () Bernd Schubert
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=200709010134.03876.bernd-schubert@gmx.de \
--to=bernd-schubert@gmx.de \
--cc=bfields@fieldses.org \
--cc=brian@interlinx.bc.ca \
--cc=nfs@lists.sourceforge.net \
/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.