Re: frequent lockups in 3.18rc4

From: Chuck Ebbert
Date: Sat Dec 06 2014 - 04:37:44 EST


On Fri, 5 Dec 2014 13:48:08 -0500
Dave Jones <davej@xxxxxxxxxx> wrote:

> [ 1611.749570] [<ffffffff81007948>] do_nmi+0xb8/0xf0
> [ 1611.750438] [<ffffffff8179dd2a>] end_repeat_nmi+0x1e/0x2e
> [ 1611.751312] [<ffffffff810a12c8>] ? preempt_count_add+0x18/0xb0
> [ 1611.752177] [<ffffffff810a12c8>] ? preempt_count_add+0x18/0xb0
> [ 1611.753025] [<ffffffff810a12c8>] ? preempt_count_add+0x18/0xb0
> [ 1611.753861] <<EOE>> [<ffffffff810fee07>] is_module_text_address+0x17/0x50
> [ 1611.754734] [<ffffffff81092ab8>] __kernel_text_address+0x58/0x80
> [ 1611.755575] [<ffffffff81006b5f>] print_context_stack+0x8f/0x100
> [ 1611.756410] [<ffffffff81005540>] dump_trace+0x140/0x370
> [ 1611.757242] [<ffffffff811e797f>] ? getname_flags+0x4f/0x1a0
> [ 1611.758072] [<ffffffff811e797f>] ? getname_flags+0x4f/0x1a0
> [ 1611.758895] [<ffffffff810137cb>] save_stack_trace+0x2b/0x50
> [ 1611.759720] [<ffffffff811c29a0>] set_track+0x70/0x140
> [ 1611.760541] [<ffffffff8178d993>] alloc_debug_processing+0x92/0x118
> [ 1611.761366] [<ffffffff8178e5d6>] __slab_alloc+0x45f/0x56f
> [ 1611.762195] [<ffffffff811e797f>] ? getname_flags+0x4f/0x1a0
> [ 1611.763024] [<ffffffff8178dd57>] ? __slab_free+0x114/0x309
> [ 1611.763853] [<ffffffff8137187e>] ? debug_check_no_obj_freed+0x17e/0x270
> [ 1611.764712] [<ffffffff811e797f>] ? getname_flags+0x4f/0x1a0
> [ 1611.765539] [<ffffffff811c6b26>] kmem_cache_alloc+0x1f6/0x270

So, every time there is a slab allocation the entire stack trace gets
saved as human readable text. And for each line in the trace,
is_module_text_address() can be called, which has huge overhead
walking the entire list of loaded modules. No wonder there are
timeouts...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/