The patch titled SLUB: consolidate trace code has been added to the -mm tree. Its filename is slub-consolidate-trace-code.patch *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: SLUB: consolidate trace code From: Christoph Lameter <clameter@xxxxxxx> Trace in both slab_alloc and slab_free has a lot of common code. Use a single function for both. Signed-off-by: Christoph Lameter <clameter@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/slub.c | 31 ++++++++++++++++++------------- 1 files changed, 18 insertions(+), 13 deletions(-) diff -puN mm/slub.c~slub-consolidate-trace-code mm/slub.c --- a/mm/slub.c~slub-consolidate-trace-code +++ a/mm/slub.c @@ -800,6 +800,22 @@ fail: return 0; } +static void trace(struct kmem_cache *s, struct page *page, void *object, int alloc) +{ + if (s->flags & SLAB_TRACE) { + printk(KERN_INFO "TRACE %s %s 0x%p inuse=%d fp=0x%p\n", + s->name, + alloc ? "alloc" : "free", + object, page->inuse, + page->freelist); + + if (!alloc) + print_section("Object", (void *)object, s->objsize); + + dump_stack(); + } +} + /* * Slab allocation and freeing */ @@ -1284,12 +1300,7 @@ debug: goto another_slab; if (s->flags & SLAB_STORE_USER) set_track(s, object, TRACK_ALLOC, addr); - if (s->flags & SLAB_TRACE) { - printk(KERN_INFO "TRACE %s alloc 0x%p inuse=%d fp=0x%p\n", - s->name, object, page->inuse, - page->freelist); - dump_stack(); - } + trace(s, page, object, 1); init_object(s, object, 1); goto have_object; } @@ -1374,13 +1385,7 @@ debug: remove_full(s, page); if (s->flags & SLAB_STORE_USER) set_track(s, x, TRACK_FREE, addr); - if (s->flags & SLAB_TRACE) { - printk(KERN_INFO "TRACE %s free 0x%p inuse=%d fp=0x%p\n", - s->name, object, page->inuse, - page->freelist); - print_section("Object", (void *)object, s->objsize); - dump_stack(); - } + trace(s, page, object, 0); init_object(s, object, 0); goto checks_ok; } _ Patches currently in -mm which might be from clameter@xxxxxxx are origin.patch slub-add-support-for-dynamic-cacheline-size-determination.patch slub-add-support-for-dynamic-cacheline-size-determination-fix.patch slub-after-object-padding-only-needed-for-redzoning.patch slub-slabinfo-upgrade.patch slub-use-check_valid_pointer-in-kmem_ptr_validate.patch slub-clean-up-krealloc.patch slub-clean-up-krealloc-fix.patch slub-get-rid-of-finish_bootstrap.patch slub-update-comments.patch slub-add-macros-for-scanning-objects-in-a-slab.patch slub-move-resiliency-check-into-sysfs-section.patch slub-introduce-debugslabpage.patch slub-consolidate-trace-code.patch slub-move-tracking-definitions-and-check_valid_pointer-away-from-debug-code.patch slub-add-config_slub_debug.patch slub-include-lifetime-stats-and-sets-of-cpus--nodes-in-tracking-output.patch slub-include-lifetime-stats-and-sets-of-cpus--nodes-in-tracking-output-fix.patch slub-rework-slab-order-determination.patch quicklist-support-for-ia64.patch quicklist-support-for-x86_64.patch slub-exploit-page-mobility-to-increase-allocation-order.patch slub-mm-only-make-slub-the-default-slab-allocator.patch slub-reduce-antifrag-max-order.patch slub-i386-support.patch remove-constructor-from-buffer_head.patch slab-shutdown-cache_reaper-when-cpu-goes-down.patch mm-implement-swap-prefetching.patch revoke-core-code-slab-allocators-remove-slab_debug_initial-flag-revoke.patch vmstat-use-our-own-timer-events.patch vmstat-use-our-own-timer-events-fix.patch make-vm-statistics-update-interval-configurable.patch make-vm-statistics-update-interval-configurable-fix.patch move-remote-node-draining-out-of-slab-allocators.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html