linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: "Bruno Prémont" <bonbons@linux-vserver.org>
Cc: Mike Frysinger <vapier.adi@gmail.com>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	linux-fsdevel@vger.kernel.org,
	"Paul E. McKenney" <paul.mckenney@linaro.org>,
	Pekka Enberg <penberg@kernel.org>
Subject: Re: 2.6.39-rc4+: Kernel leaking memory during FS scanning, regression?
Date: Mon, 25 Apr 2011 08:22:38 -0700	[thread overview]
Message-ID: <BANLkTi=d0UHrYXyTK0CBZYCSK-ax8+wuWQ@mail.gmail.com> (raw)
In-Reply-To: <20110425111705.786ef0c5@neptune.home>

On Mon, Apr 25, 2011 at 2:17 AM, Bruno Prémont
<bonbons@linux-vserver.org> wrote:
>
> Here it seems to happened when I run 2 intensive tasks in parallel, e.g.
> (re)emerging gimp and running revdep-rebuild -pi in another terminal.
> This produces a fork rate of about 100-300 per second.
>
> Suddenly kmalloc-128 slabs stop being freed and things degrade.

So everything seems to imply some kind of filesystem/vfs thing, but
let's try to gather a bit more information about exactly what it is.

Some of it also points to RCU freeing, but that "kmalloc-128" doesn't
really match my expectations. According to your slabinfo, it's not the
dentries.

One thing I'd ask you to do is to boot with the "slub_nomerge" kernel
command  line switch. The SLUB "merge slab caches" thing may save some
memory, but it has been a disaster from every other standpoint - every
time there's a memory leak, it ends up making it very confusing to try
to figure things out.

For example, your traces seem to imply that the kmalloc-128 allocation
is actually the "filp" cache, but it has gotten merged with the
kmalloc-128 cache, so slabinfo doesn't actually show the right user.

(Pekka? This is a real _problem_. The whole "confused debugging" is
wasting a lot of peoples time. Can we please try to get slabinfo
statistics work right for the merged state. Or perhaps decide to just
not merge at all?)

As to why it has started to happen now: with the whole RCU lookup
thing, many more filesystem objects are RCU-free'd (dentries have been
for a long time, but now we have inodes and filp's too), and that may
end up delaying allocations sufficiently that you end up seeing
something that used to be borderline become a major problem.

Also, what's your kernel config, in particular wrt RCU? The RCU
freeing _should_ be self-limiting (if I recall correctly) and not let
infinite amounts of RCU work (ie pending freeing) accumulate, but
maybe something is broken. Do you have a UP kernel with TINY_RCU, for
example? Or maybe I'm just confused, and there's never any RCU
throttling at all. Paul?

                               Linus

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  parent reply	other threads:[~2011-04-25 15:28 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-24 18:21 2.6.39-rc4+: Kernel leaking memory during FS scanning, regression? Bruno Prémont
2011-04-24 21:59 ` Bruno Prémont
2011-04-25  2:42   ` KOSAKI Motohiro
2011-04-25  7:47     ` Mike Frysinger
2011-04-25  9:17       ` Bruno Prémont
2011-04-25  9:25         ` Pekka Enberg
2011-04-25 10:34           ` Bruno Prémont
2011-04-25 11:41             ` Bruno Prémont
2011-04-25 11:47               ` Pekka Enberg
2011-04-25 12:11                 ` Bruno Prémont
2011-04-25 12:14                 ` Tetsuo Handa
2011-04-25 12:21                   ` Tetsuo Handa
2011-04-25 15:22         ` Linus Torvalds [this message]
2011-04-25 16:04           ` Bruno Prémont
2011-04-25 16:31             ` Linus Torvalds
2011-04-25 17:00               ` Bruno Prémont
2011-04-25 17:10                 ` Linus Torvalds
2011-04-25 17:20                   ` Linus Torvalds
2011-04-25 18:36                   ` Bruno Prémont
2011-04-25 19:16                     ` Paul E. McKenney
2011-04-25 21:10                       ` Bruno Prémont
2011-04-25 21:26                         ` Paul E. McKenney
2011-04-25 21:30                         ` Linus Torvalds
2011-04-25 21:49                           ` Paul E. McKenney
2011-04-26  6:19                             ` Bruno Prémont
2011-04-26 11:27                               ` Paul E. McKenney
2011-04-26 16:38                                 ` Bruno Prémont
2011-04-26 17:09                                   ` Bruno Prémont
2011-04-26 17:18                                     ` Linus Torvalds
2011-04-26 22:28                                       ` Thomas Gleixner
2011-04-27  6:15                                         ` Bruno Prémont
2011-04-27 18:41                                           ` Bruno Prémont
2011-04-27 19:16                                             ` Pádraig Brady
2011-04-27 19:34                                               ` Bruno Prémont
2011-04-27 22:05                                                 ` Paul E. McKenney
2011-04-27 20:40                                             ` Bruno Prémont
2011-04-27 22:07                                               ` Paul E. McKenney
2011-04-28  6:10                                                 ` Bruno Prémont
2011-04-27 22:06                                             ` Thomas Gleixner
2011-04-27 22:27                                               ` Paul E. McKenney
2011-04-27 22:32                                                 ` Thomas Gleixner
2011-04-27 22:59                                                   ` Paul E. McKenney
2011-04-27 23:28                                                   ` Linus Torvalds
2011-04-27 23:46                                                     ` Linus Torvalds
2011-04-28  9:09                                               ` Thomas Gleixner
2011-04-28  9:17                                                 ` Sedat Dilek
2011-04-28  9:40                                                   ` Thomas Gleixner
2011-04-28 10:12                                                     ` Mike Galbraith
2011-04-28  9:45                                                 ` Sedat Dilek
2011-04-28 10:26                                                   ` Paul E. McKenney
2011-04-28 13:30                                                     ` Mike Galbraith
2011-04-28 15:28                                                       ` Sedat Dilek
2011-04-28 15:44                                                         ` Sedat Dilek
2011-04-28 15:48                                                         ` Linus Torvalds
2011-04-28 18:49                                                         ` Thomas Gleixner
2011-04-28 20:23                                                           ` Bruno Prémont
2011-04-28 20:29                                                             ` Thomas Gleixner
2011-04-28 20:44                                                               ` Bruno Prémont
2011-04-28 21:04                                                                 ` Thomas Gleixner
2011-04-28 21:51                                                                   ` john stultz
2011-04-28 22:02                                                                     ` Thomas Gleixner
2011-04-28 23:06                                                                       ` Sedat Dilek
2011-04-28 23:35                                                                         ` Sedat Dilek
2011-04-29  0:42                                                                           ` Paul E. McKenney
2011-04-29  9:34                                                                             ` Thomas Gleixner
2011-04-29  7:55                                                                       ` Sedat Dilek
2011-04-29 18:09                                                                       ` Mike Frysinger
2011-04-29 18:26                                                                         ` Thomas Gleixner
2011-04-29 19:31                                                                       ` Bruno Prémont
2011-04-29 20:10                                                                         ` Thomas Gleixner
2011-04-29 20:14                                                                           ` Bruno Prémont
2011-04-30  9:14                                                                             ` Sedat Dilek
2011-04-28 20:41                                                           ` Sedat Dilek
2011-04-28 19:22                                                         ` Mike Galbraith
2011-04-27 21:55                                         ` Paul E. McKenney
2011-04-28  6:22                                           ` Bruno Prémont
2011-04-28 10:26                                             ` Paul E. McKenney
2011-04-26 17:12                                   ` Linus Torvalds
2011-04-26 18:50                                     ` Paul E. McKenney
2011-04-26 19:17                                       ` Sedat Dilek
2011-04-27 22:02                                         ` Paul E. McKenney
2011-04-25 22:08                         ` Mike Frysinger
2011-04-25 17:29                 ` Paul E. McKenney
2011-04-25 18:13                   ` Sedat Dilek
2011-04-25 18:28                     ` Paul E. McKenney
2011-04-25 17:26               ` Paul E. McKenney
2011-04-27 10:28               ` Catalin Marinas
2011-04-25 17:51           ` Pekka Enberg

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='BANLkTi=d0UHrYXyTK0CBZYCSK-ax8+wuWQ@mail.gmail.com' \
    --to=torvalds@linux-foundation.org \
    --cc=bonbons@linux-vserver.org \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=paul.mckenney@linaro.org \
    --cc=penberg@kernel.org \
    --cc=vapier.adi@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;
as well as URLs for NNTP newsgroup(s).