mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Catalin Marinas" <catalin.marinas@gmail.com>
To: "Ingo Molnar" <mingo@elte.hu>
Cc: "Jeremy Fitzhardinge" <jeremy@goop.org>,
	"Pekka J Enberg" <penberg@cs.helsinki.fi>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2.6.17-rc6 7/9] Remove some of the kmemleak false positives
Date: Wed, 14 Jun 2006 14:46:04 +0100	[thread overview]
Message-ID: <b0943d9e0606140646u2e1c90ebic575ebdba67e8349@mail.gmail.com> (raw)
In-Reply-To: <20060614120326.GA23337@elte.hu>

On 14/06/06, Ingo Molnar <mingo@elte.hu> wrote:
>
> * Jeremy Fitzhardinge <jeremy@goop.org> wrote:
>
> > This seems pretty over-engineered.  I wouldn't go this far unless
> > you're actually seeing performance/correctness problems, and a simple
> > with/without pointers flag isn't enough.  It also doesn't address the
> > most troublesome source of false pointers: stacks.  There is all sorts
> > of junk lying around on stacks, and you can have an old dead pointer
> > sitting there pinning old dead memory for a long time.
>
> in an earlier thread i suggested to not scan kernel stacks at all, but
> to delay the registration of new blocks to return-from-syscall time (via
> having a per-task list of newly allocated but not yet registered
> blocks). That way we dont get false positives for stuff that is on the
> kernel stack temporarily and then freed, and we correctly register newly
> allocated blocks as well.

I didn't have time to try this idea. However, the number of false
positives doesn't seem to be increased (or they are only reported
temporarily) if you don't scan the stacks at all (especially if you
scan the memory at a relatively quiet time). That's why I added a
config option for this.

The problem looks a bit more complicated for kernel threads as they
always use the kernel stack.

Another idea would be to only scan the stacks of the sleeping tasks
(and you could also get the frame pointer from the call to the
schedule function).

-- 
Catalin

  reply	other threads:[~2006-06-14 13:46 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-11 11:18 [PATCH 2.6.17-rc6 0/9] Kernel memory leak detector 0.7 Catalin Marinas
2006-06-11 11:21 ` [PATCH 2.6.17-rc6 1/9] Base support for kmemleak Catalin Marinas
2006-06-13 11:14   ` Pekka Enberg
2006-06-13 12:47     ` Catalin Marinas
2006-06-11 11:21 ` [PATCH 2.6.17-rc6 2/9] Some documentation " Catalin Marinas
2006-06-11 11:21 ` [PATCH 2.6.17-rc6 3/9] Add the memory allocation/freeing hooks " Catalin Marinas
2006-06-11 11:21 ` [PATCH 2.6.17-rc6 4/9] Modules support " Catalin Marinas
2006-06-11 11:21 ` [PATCH 2.6.17-rc6 5/9] Add kmemleak support for i386 Catalin Marinas
2006-06-11 11:21 ` [PATCH 2.6.17-rc6 6/9] Add kmemleak support for ARM Catalin Marinas
2006-06-11 11:21 ` [PATCH 2.6.17-rc6 7/9] Remove some of the kmemleak false positives Catalin Marinas
2006-06-12  5:19   ` Pekka Enberg
2006-06-12  8:11     ` Catalin Marinas
2006-06-12  8:17       ` Pekka J Enberg
2006-06-12  8:43         ` Catalin Marinas
2006-06-12 10:53         ` Ingo Molnar
2006-06-12 11:08           ` Pekka J Enberg
2006-06-12 11:36             ` Ingo Molnar
2006-06-12 11:56               ` Pekka J Enberg
2006-06-12 12:53                 ` Catalin Marinas
2006-06-12 13:12                 ` Ingo Molnar
2006-06-12 14:38                   ` Catalin Marinas
2006-06-12 22:29                   ` Catalin Marinas
2006-06-12 12:56           ` Catalin Marinas
2006-06-12 19:22             ` Ingo Molnar
2006-06-12 22:24               ` Catalin Marinas
2006-06-13  5:53               ` Pekka J Enberg
2006-06-13  6:59                 ` Catalin Marinas
2006-06-13  7:57                   ` Pekka J Enberg
2006-06-13  9:45                     ` Catalin Marinas
2006-06-13 10:04                       ` Pekka Enberg
2006-06-13 10:37                         ` Catalin Marinas
2006-06-13  7:26                 ` Ingo Molnar
2006-06-13  8:11                   ` Pekka J Enberg
2006-06-13 10:49                   ` Catalin Marinas
2006-06-14  4:07                     ` Ingo Molnar
2006-06-14  5:46                       ` Andi Kleen
2006-06-14  5:53                       ` Jeremy Fitzhardinge
2006-06-14 12:03                         ` Ingo Molnar
2006-06-14 13:46                           ` Catalin Marinas [this message]
2006-06-14 13:35                         ` Catalin Marinas
2006-06-14 13:21                       ` Catalin Marinas
2006-06-12  9:17       ` Peter Zijlstra
2006-06-12  9:35         ` Catalin Marinas
2006-06-24 10:20     ` Catalin Marinas
2006-06-24 10:22       ` Ingo Molnar
2006-06-24 10:55         ` Catalin Marinas
2006-07-24 11:15         ` Ingo Molnar
2006-07-24 13:28           ` Catalin Marinas
2006-08-03  6:32             ` Jakub Jelinek
2006-08-03  8:31               ` Catalin Marinas
2006-06-11 11:22 ` [PATCH 2.6.17-rc6 8/9] Simple testing for kmemleak Catalin Marinas
2006-06-11 11:22 ` [PATCH 2.6.17-rc6 9/9] Keep the __init functions after initialization Catalin Marinas

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=b0943d9e0606140646u2e1c90ebic575ebdba67e8349@mail.gmail.com \
    --to=catalin.marinas@gmail.com \
    --cc=jeremy@goop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=penberg@cs.helsinki.fi \
    /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

Powered by JetHome