Kernel dynamic memory analysis
Mainline status
Accepted
Here's the list of the mainlined (or waiting at linux-next) patches that were produced for this project.
Patches focuses on:
- Improving tracing by enabling ftrace earlier in kernel init sequence
- Improving kmem tracing accuracy by tracking caller correctly
- Improve or fix slob kmem tracing support
- Minor slob cleanups
mm/slob: Use free_page instead of put_page for page-size kmalloc allocations commit 8cf9864b1382851d90c7c505f8441c8928f1469e
mm/sl[aou]b: Move common kmem_cache_size() to slab.h commit 242860a47a75b933a79a30f6a40bf4858f4a3ecc
mm/slob: Use object_size field in kmem_cache_size() commit fe74fe2bf293d061826f0d7afc2ca8456bdbb40e
mm/slob: Drop usage of page->private for storing page-sized allocations commit 999d8795d438d396936811b185428d70b7b7de6d
lib/kasprintf.c: use kmalloc_track_caller() to get accurate traces for kvasprintf commit 3e1aa66bd423950aa69c3d50d91818af1d16e0a7
mm/slab: Fix kmem_cache_alloc_node_trace() declaration commit dffa3f985047979ace185e253da89cabda3f7b31
mm/slab: Fix kmem_cache_alloc_node_trace() declaration commit 1e5965bf1f018cc30a4659fa3f1a40146e4276f6
mm/slab: Fix typo _RET_IP -> _RET_IP_ commit 592f41450d03f74747edd81779ae206a0647152f
mm, slub: Rename slab_alloc() -> slab_alloc_node() to match SLAB commit 2b847c3cb4f8565911bd8ce59b8428e635c90594
mm, slab: Rename __cache_alloc() -> slab_alloc() commit 48356303ff8cce7036f13a23df9119d3f47461ce
mm, slab: Match SLAB and SLUB kmem_cache_alloc_xxx_trace() prototype commit 4052147c0afa1cf05780ed846f37e87cdde9f628
mm, slab: Replace 'caller' type, void* -> unsigned long commit 7c0cb9c64f83dd9bf18b139ac0de00daba6087c2
mm, slob: Add support for kmalloc_track_caller() commit f3f741019595f1e73564d985f5fe8abcbb98c769
mm, slab: Remove silly function slab_buffer_size() commit ff4fcd01ec86d98d15d2fd96f22f19bb1d341b88
mm, slob: Use NUMA_NO_NODE instead of -1 commit 90f2cbbc49a8fe5a49cea1d362d90e377b949d49
trace: Move trace event enable from fs_initcall to core_initcall commit 8781915ad2716adcd8cd5cc52cee791fc8b00fdf
mm: Use __do_krealloc to do the krealloc job commit e21827aadd77e33833eeb393de2e8675e9b399e2
Nacked
A few patches already sent have been nacked and work is needed in order to submit them again:
[PATCH 05/10] mm, util: Use dup_user to duplicate user memory http://www.spinics.net/lists/linux-mm/msg42351.html
[PATCH v2] Makefile: Add option to disable gcc automatic inlining https://lkml.org/lkml/2012/10/7/209