lkml.org 
[lkml]   [2011]   [May]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2] dma-debug: print some unfreed allocations
On Wed, May 11, 2011 at 08:47:57AM -0400, Johannes Berg wrote:
> From: Johannes Berg <johannes.berg@intel.com>

> +#ifdef CONFIG_STACKTRACE
> + count = 0;
> + /*
> + * If we have, print out some stack traces for the allocations.
> + * In case of module unload, the stack traces will be useless,
> + * but instead of unloading the module you can manually unbind
> + * the driver instead and get useful traces.
> + */
> + printk(KERN_WARNING "Showing traces for %d allocations:\n",
> + DMA_DEBUG_NUM_PRINT_UNFREED);
> +
> + for (i = 0; i < HASH_SIZE; ++i) {
> + spin_lock(&dma_entry_hash[i].lock);
> + list_for_each_entry(entry, &dma_entry_hash[i].list,
> + list) {
> + if (entry->dev != dev)
> + continue;
> + count += 1;
> + if (count > DMA_DEBUG_NUM_PRINT_UNFREED)
> + break;
> + dump_entry_trace(entry);
> + }
> + spin_unlock(&dma_entry_hash[i].lock);
>
> - return count;
> + if (count > DMA_DEBUG_NUM_PRINT_UNFREED)
> + break;
> + }
> +#endif
> + }
> +
> + local_irq_restore(flags);
> }

This is surely useful to developers, but can trash the dmesg if done
unconditionally. I would prefer this verbose output to be configurable
and off by default.

Joerg




\
 
 \ /
  Last update: 2011-05-16 13:03    [W:0.083 / U:0.988 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site