mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Catalin Marinas <catalin.marinas@arm.com>
To: Mike Snitzer <snitzer@gmail.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org, sam@ravnborg.org
Subject: Re: [PATCH 00/14] Kernel memory leak detector
Date: Fri, 16 Jan 2009 09:22:32 +0000	[thread overview]
Message-ID: <1232097752.31143.12.camel@pc1117.cambridge.arm.com> (raw)
In-Reply-To: <170fa0d20901151409p5ce88a4cqb3686d600ac6190e@mail.gmail.com>

On Thu, 2009-01-15 at 17:09 -0500, Mike Snitzer wrote:
> When running your latest git kmemleak branch (as is being pulled into
> linux-next AFAIK) I'm still seeing that kmemleak fails to initialize
> with:
> 
> kmemleak: Early log buffer exceeded
[...]
> Kernel memory leak detector disabled

It looks like kmemleak exceeded it's buffer for logging initial memory
allocations requests and disabled itself (since it needs to track all
the memory allocations and kmemleak uses the slab allocator itself, it
uses this buffer). You can try to increase the size of the early_log[]
array (currently 200) in the kmemleak.c file. The current size was fine
on my embedded systems but, well, it looks like it needs to be
increased.

> Doing so yields:
>   MODPOST vmlinux.o
> WARNING: vmlinux.o(.text+0xaed80): Section mismatch in reference from
> the function kmemleak_free() to the function .init.text:log_early()
> The function kmemleak_free() references
> the function __init log_early().
> This is often because kmemleak_free lacks a __init
> annotation or the annotation of log_early is wrong.

That's related to the early_log buffer. Once kmemleak was initialised,
it no longer calls the log_early() function and doesn't use the
early_log[] array, hence they were marked as __init. The warning is
valid but it doesn't cause any bugs in kmemleak. Any idea how to avoid
this warning and still release the __init code and data?

Another solution is to use the page allocator for the early logging
buffer and just free the pages once fully initialised, though this may
complicate the code slightly more.

-- 
Catalin


  reply	other threads:[~2009-01-16  9:23 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-19 18:12 Catalin Marinas
2008-12-19 18:13 ` [PATCH 01/14] kmemleak: Add the base support Catalin Marinas
2008-12-19 20:08   ` Pekka Enberg
2008-12-19 22:02     ` Ingo Molnar
2008-12-19 22:14       ` Andrew Morton
2008-12-22 13:05         ` Catalin Marinas
2008-12-30  0:23   ` Andrew Morton
2008-12-30  7:38     ` Ingo Molnar
2008-12-30  7:44       ` Andrew Morton
2008-12-30  7:52         ` Ingo Molnar
2008-12-30  7:59           ` Andrew Morton
2008-12-30 10:48     ` Catalin Marinas
2008-12-19 18:13 ` [PATCH 02/14] kmemleak: Add documentation on the memory leak detector Catalin Marinas
2008-12-19 18:30   ` Randy Dunlap
2008-12-19 18:13 ` [PATCH 03/14] kmemleak: Add the slab memory allocation/freeing hooks Catalin Marinas
2008-12-19 20:05   ` Pekka Enberg
2008-12-19 18:13 ` [PATCH 04/14] kmemleak: Add the slob " Catalin Marinas
2008-12-19 18:13 ` [PATCH 05/14] kmemleak: Add the slub " Catalin Marinas
2008-12-19 20:05   ` Pekka Enberg
2008-12-19 18:13 ` [PATCH 06/14] kmemleak: Add the vmalloc " Catalin Marinas
2008-12-19 18:13 ` [PATCH 07/14] kmemleak: Add kmemleak_alloc callback from alloc_large_system_hash Catalin Marinas
2008-12-19 18:13 ` [PATCH 08/14] kmemleak: Add modules support Catalin Marinas
2008-12-19 18:13 ` [PATCH 09/14] x86: Provide _sdata in the vmlinux_*.lds.S files Catalin Marinas
2008-12-19 18:13 ` [PATCH 10/14] arm: Provide _sdata and __bss_stop in the vmlinux.lds.S file Catalin Marinas
2008-12-19 18:13 ` [PATCH 11/14] kmemleak: Remove some of the kmemleak false positives Catalin Marinas
2008-12-19 20:15   ` Pekka Enberg
2008-12-22 12:04     ` Catalin Marinas
2008-12-19 18:14 ` [PATCH 12/14] kmemleak: Enable the building of the memory leak detector Catalin Marinas
2008-12-19 18:14 ` [PATCH 13/14] kmemleak: Simple testing module for kmemleak Catalin Marinas
2008-12-19 18:14 ` [PATCH 14/14] kmemleak: Add the corresponding MAINTAINERS entry Catalin Marinas
2008-12-30  0:23 ` [PATCH 00/14] Kernel memory leak detector Andrew Morton
2008-12-30 11:43   ` Catalin Marinas
2009-01-08 22:45 ` Andrew Morton
2009-01-12  9:51   ` Catalin Marinas
2009-01-12 10:21     ` Andrew Morton
2009-01-12 10:33       ` Stephen Rothwell
2009-01-12 11:13         ` Catalin Marinas
2009-01-14 12:30         ` Catalin Marinas
2009-01-14 14:01           ` Stephen Rothwell
2009-01-14 14:50             ` Catalin Marinas
2009-01-15 22:09               ` Mike Snitzer
2009-01-16  9:22                 ` Catalin Marinas [this message]
2009-04-24 16:40 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=1232097752.31143.12.camel@pc1117.cambridge.arm.com \
    --to=catalin.marinas@arm.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sam@ravnborg.org \
    --cc=sfr@canb.auug.org.au \
    --cc=snitzer@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

Powered by JetHome