From: Linus Torvalds <torvalds@linux-foundation.org>
To: Jan Kara <jack@suse.cz>
Cc: Bj?rn Steinbrink <B.Steinbrink@gmx.de>,
Krzysztof Oledzki <olel@ans.pl>,
Andrew Morton <akpm@linux-foundation.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Nick Piggin <nickpiggin@yahoo.com.au>,
Peter Zijlstra <peterz@infradead.org>,
Thomas Osterried <osterried@jesse.de>,
protasnb@gmail.com, bugme-daemon@bugzilla.kernel.org
Subject: Re: [Bug 9182] Critical memory leak (dirty pages)
Date: Thu, 20 Dec 2007 11:24:01 -0800 (PST) [thread overview]
Message-ID: <alpine.LFD.0.9999.0712201116510.21557@woody.linux-foundation.org> (raw)
In-Reply-To: <20071220172551.GE764@atrey.karlin.mff.cuni.cz>
On Thu, 20 Dec 2007, Jan Kara wrote:
>
> As I wrote in my previous email, this solution works but hides the
> fact that the page really *has* dirty data in it and *is* pinned in memory
> until the commit code gets to writing it. So in theory it could disturb
> the writeout logic by having more dirty data in memory than vm thinks it
> has. Not that I'd have a better fix now but I wanted to point out this
> problem.
Well, I worry more about the VM being sane - and by the time we actually
hit this case, as far as VM sanity is concerned, the page no longer really
exists. It's been removed from the page cache, and it only really exists
as any other random kernel allocation.
The fact that low-level filesystems (in this case ext3 journaling) do
their own insane things is not something the VM even _should_ care about.
It's just an internal FS allocation, and the FS can do whatever the hell
it wants with it, including doing IO etc.
The kernel doesn't consider any other random IO pages to be "dirty" either
(eg if you do direct-IO writes using low-level SCSI commands, the VM
doesn't consider that to be any special dirty stuff, it's just random page
allocations again). This is really no different.
In other words: the Linux "VM" subsystem is really two differnt parts: the
low-level page allocator (which obviously knows that the page is still in
*use*, since it hasn't been free'd), and the higher-level file mapping and
caching stuff that knows about things like page "dirtyiness". And once
you've done a "remove_from_page_cache()", the higher levels are no longer
involved, and dirty accounting simply doesn't get into the picture.
Linus
next prev parent reply other threads:[~2007-12-20 19:25 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20071215221935.306A5108068@picon.linux-foundation.org>
2007-12-15 23:08 ` Krzysztof Oledzki
2007-12-16 4:35 ` Andrew Morton
2007-12-16 9:33 ` Krzysztof Oledzki
2007-12-16 9:51 ` Andrew Morton
2007-12-16 13:46 ` Krzysztof Oledzki
2007-12-16 21:51 ` Andrew Morton
2007-12-17 14:26 ` Jan Kara
2007-12-17 17:17 ` Krzysztof Oledzki
2007-12-19 17:44 ` Linus Torvalds
2007-12-20 1:05 ` Jan Kara
2007-12-20 1:19 ` Nick Piggin
2007-12-20 14:12 ` Björn Steinbrink
2007-12-20 15:04 ` Jan Kara
2007-12-20 16:05 ` Jan Kara
2007-12-20 16:25 ` Linus Torvalds
2007-12-20 17:25 ` Jan Kara
2007-12-20 19:24 ` Linus Torvalds [this message]
2007-12-21 1:59 ` Nick Piggin
2007-12-20 22:28 ` Björn Steinbrink
2007-12-21 19:59 ` Krzysztof Oledzki
2007-12-21 20:42 ` [PATCH] Fix dirty page accounting leak with ext3 data=journal Björn Steinbrink
[not found] <20071216095834.1B899108069@picon.linux-foundation.org>
2007-12-16 10:12 ` [Bug 9182] Critical memory leak (dirty pages) Krzysztof Oledzki
[not found] <20071205213750.14194108010@picon.linux-foundation.org>
[not found] ` <Pine.LNX.4.64.0712052238520.21312@bizon.gios.gov.pl>
[not found] ` <Pine.LNX.4.64.0712111844510.21312@bizon.gios.gov.pl>
2007-12-12 13:28 ` Krzysztof Oledzki
[not found] <20071205135655.1A832108010@picon.linux-foundation.org>
2007-12-05 14:09 ` Krzysztof Oledzki
2007-09-28 8:42 Strange system hangs Krzysztof Oledzki
2007-09-28 20:14 ` Nick Piggin
2007-12-02 15:09 ` Krzysztof Oledzki
[not found] ` <200712030936.25363.osterried@jesse.de>
2007-12-13 15:17 ` [Bug 9182] Critical memory leak (dirty pages) Krzysztof Oledzki
2007-12-13 15:44 ` Peter Zijlstra
2007-12-13 16:16 ` Krzysztof Oledzki
2007-12-15 12:33 ` Krzysztof Oledzki
2007-12-15 21:53 ` Krzysztof Oledzki
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=alpine.LFD.0.9999.0712201116510.21557@woody.linux-foundation.org \
--to=torvalds@linux-foundation.org \
--cc=B.Steinbrink@gmx.de \
--cc=akpm@linux-foundation.org \
--cc=bugme-daemon@bugzilla.kernel.org \
--cc=jack@suse.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=nickpiggin@yahoo.com.au \
--cc=olel@ans.pl \
--cc=osterried@jesse.de \
--cc=peterz@infradead.org \
--cc=protasnb@gmail.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®