mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Jan Kara <jack@suse.cz>, 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>,
	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: Fri, 21 Dec 2007 12:59:02 +1100	[thread overview]
Message-ID: <200712211259.02945.nickpiggin@yahoo.com.au> (raw)
In-Reply-To: <alpine.LFD.0.9999.0712201116510.21557@woody.linux-foundation.org>

On Friday 21 December 2007 06:24, Linus Torvalds wrote:
> 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.

It does allow the VM to just not worry about this. However I don't
really like this kinds of catch-all conditions that are hard to get
rid of and can encourage bad behaviour.

It would be nice if the "insane" things were made to clean up after
themselves.


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

That's all true... it would simply be nice to ask the filesystems to do
this. But anyway I think your patch is pretty reasonable for the moment.

  reply	other threads:[~2007-12-21  2:09 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
2007-12-21  1:59                     ` Nick Piggin [this message]
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=200712211259.02945.nickpiggin@yahoo.com.au \
    --to=nickpiggin@yahoo.com.au \
    --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=olel@ans.pl \
    --cc=osterried@jesse.de \
    --cc=peterz@infradead.org \
    --cc=protasnb@gmail.com \
    --cc=torvalds@linux-foundation.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 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®