mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
dm bufio: Simplify stack trace retrieval
Replace the indirection through struct stack_trace with an invocation of the storage array based interface. Signed-off-by: Thomas Gleixner <[email protected]> Reviewed-by: Josh Poimboeuf <[email protected]> Cc: Andy Lutomirski <[email protected]> Cc: [email protected] Cc: Mike Snitzer <[email protected]> Cc: Alasdair Kergon <[email protected]> Cc: Steven Rostedt <[email protected]> Cc: Alexander Potapenko <[email protected]> Cc: Alexey Dobriyan <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Christoph Lameter <[email protected]> Cc: Pekka Enberg <[email protected]> Cc: [email protected] Cc: David Rientjes <[email protected]> Cc: Catalin Marinas <[email protected]> Cc: Dmitry Vyukov <[email protected]> Cc: Andrey Ryabinin <[email protected]> Cc: [email protected] Cc: Mike Rapoport <[email protected]> Cc: Akinobu Mita <[email protected]> Cc: Christoph Hellwig <[email protected]> Cc: [email protected] Cc: Robin Murphy <[email protected]> Cc: Marek Szyprowski <[email protected]> Cc: Johannes Thumshirn <[email protected]> Cc: David Sterba <[email protected]> Cc: Chris Mason <[email protected]> Cc: Josef Bacik <[email protected]> Cc: [email protected] Cc: Daniel Vetter <[email protected]> Cc: [email protected] Cc: Joonas Lahtinen <[email protected]> Cc: Maarten Lankhorst <[email protected]> Cc: [email protected] Cc: David Airlie <[email protected]> Cc: Jani Nikula <[email protected]> Cc: Rodrigo Vivi <[email protected]> Cc: Tom Zanussi <[email protected]> Cc: Miroslav Benes <[email protected]> Cc: [email protected] Link: https://lkml.kernel.org/r/[email protected]
This commit is contained in:
parent
6924f5feba
commit
741b58f3e2
1 changed files with 6 additions and 9 deletions
|
|
@ -150,7 +150,7 @@ struct dm_buffer {
|
|||
void (*end_io)(struct dm_buffer *, blk_status_t);
|
||||
#ifdef CONFIG_DM_DEBUG_BLOCK_STACK_TRACING
|
||||
#define MAX_STACK 10
|
||||
struct stack_trace stack_trace;
|
||||
unsigned int stack_len;
|
||||
unsigned long stack_entries[MAX_STACK];
|
||||
#endif
|
||||
};
|
||||
|
|
@ -232,11 +232,7 @@ static DEFINE_MUTEX(dm_bufio_clients_lock);
|
|||
#ifdef CONFIG_DM_DEBUG_BLOCK_STACK_TRACING
|
||||
static void buffer_record_stack(struct dm_buffer *b)
|
||||
{
|
||||
b->stack_trace.nr_entries = 0;
|
||||
b->stack_trace.max_entries = MAX_STACK;
|
||||
b->stack_trace.entries = b->stack_entries;
|
||||
b->stack_trace.skip = 2;
|
||||
save_stack_trace(&b->stack_trace);
|
||||
b->stack_len = stack_trace_save(b->stack_entries, MAX_STACK, 2);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
@ -438,7 +434,7 @@ static struct dm_buffer *alloc_buffer(struct dm_bufio_client *c, gfp_t gfp_mask)
|
|||
adjust_total_allocated(b->data_mode, (long)c->block_size);
|
||||
|
||||
#ifdef CONFIG_DM_DEBUG_BLOCK_STACK_TRACING
|
||||
memset(&b->stack_trace, 0, sizeof(b->stack_trace));
|
||||
b->stack_len = 0;
|
||||
#endif
|
||||
return b;
|
||||
}
|
||||
|
|
@ -1520,8 +1516,9 @@ static void drop_buffers(struct dm_bufio_client *c)
|
|||
DMERR("leaked buffer %llx, hold count %u, list %d",
|
||||
(unsigned long long)b->block, b->hold_count, i);
|
||||
#ifdef CONFIG_DM_DEBUG_BLOCK_STACK_TRACING
|
||||
print_stack_trace(&b->stack_trace, 1);
|
||||
b->hold_count = 0; /* mark unclaimed to avoid BUG_ON below */
|
||||
stack_trace_print(b->stack_entries, b->stack_len, 1);
|
||||
/* mark unclaimed to avoid BUG_ON below */
|
||||
b->hold_count = 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue