From: Linus Torvalds <torvalds@transmeta.com>
To: sim@netnation.com, linux-kernel@vger.kernel.org
Subject: Re: Writing over NFS causes lots of paging
Date: Sun, 11 Nov 2001 10:29:09 -0800 [thread overview]
Message-ID: <200111111829.fABIT9v14680@penguin.transmeta.com> (raw)
In-Reply-To: <20011111024855.A5893@netnation.com>
In article <20011111024855.A5893@netnation.com> you write:
>It looks like when writing large amounts of data to NFS where the remote
>end is slower than the local end the local end appears to start swapping
>out a lot I'm guessing this is because it can read much faster than it
>can write.
No, the real reason for why the NFS write stuff causes page-outs is that
the VM layer does not really understand the notion of writeback pages.
The VM layer has one explicit special case: it knows about the magic in
"page->buffers", and can handle writeback for block-oriented devices
sanely. But any non-buffer-oriented filesystem is "invisible" to the VM
layer, and has to use other tricks to make the VM ignore its pages.
In the case of NFS, it increments the page count and has it's own
private non-VM-visible writeback data structures. This pins the page in
memory, but at the same time, because the VM doesn't understand it, the
VM will end up thinking the page is mapped in user space or something
else, and won't know how to start writeouts.
Quite frankly, I don't rightly know what the real fix is. Making
"page->buffers" be a generic thing (a "void *") along with making the
buffer flushing logic be behind a address space operation is probably
the right thing in the long run.
Linus
next prev parent reply other threads:[~2001-11-11 18:33 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-11-11 10:48 Simon Kirby
2001-11-11 18:29 ` Linus Torvalds [this message]
2001-11-12 3:36 ` Trond Myklebust
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=200111111829.fABIT9v14680@penguin.transmeta.com \
--to=torvalds@transmeta.com \
--cc=linux-kernel@vger.kernel.org \
--cc=sim@netnation.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
all inboxes | Powered by JetHome®