Messages in this thread | | | From | Catalin Marinas <> | Date | Tue, 4 Oct 2011 16:41:32 +0100 | Subject | Re: kmemleak and SLAB |
| |
On 4 October 2011 07:31, Sitsofe Wheeler <sitsofe@yahoo.com> wrote: > When I try to use kmemleak with the SLAB allocator set I receive this > message when booting 3.1-rc8: > > [ 28.480569] kmemleak: Cannot allocate a kmemleak_object structure > [ 28.480593] kmemleak: Kernel memory leak detector disabled > [ 34.428037] CPA self-test: > [ 34.435881] 4k 259968 large 0 gb 0 x 259968[b0000000-ef77f000] miss 0 > [ 34.447669] 4k 259968 large 0 gb 0 x 259968[b0000000-ef77f000] miss 0 > [ 34.458402] 4k 259968 large 0 gb 0 x 259968[b0000000-ef77f000] miss 0 > [ 34.458407] ok. > [ 38.754032] wlan0: no IPv6 routers present > [ 67.666048] kmemleak: Automatic memory scanning thread ended > > All is fine when using SLUB. On another run I also got an error about an > ODEBUG oom so I wonder if this is indicative of another problem...
There could be another problem. The kmemleak error says that it could not allocate the memory required for its internal data keeping. This happens especially when the allocation is GFP_ATOMIC (it depends on the context kmemleak is called from).
I have this commit in my tree (not yet pushed upstream):
http://linux-arm.org/git?p=linux-2.6.git;a=commitdiff;h=bcba31f1751bf9d9d1da72dd828dee697d52924f
If you apply this, kmemleak keeps its metadata for later reporting (well, only if it was fully initialised before the error occured). This way you can inspect /proc/slabinfo and /proc/meminfo etc. to see why it ran out of memory.
-- Catalin -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |