lkml.org 
[lkml]   [2014]   [Dec]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: frequent lockups in 3.18rc4
On Sat, 6 Dec 2014, Chuck Ebbert wrote:
> On Fri, 5 Dec 2014 13:48:08 -0500
> Dave Jones <davej@redhat.com> 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,

Wrong. It gets saved as address. No conversion to text at all.

> is_module_text_address() can be called, which has huge overhead
> walking the entire list of loaded modules. No wonder there are
> timeouts...

You would have to have a gazillion of modules to make that overhead
big enough to trigger a multi seconds watchdog.

Thanks,

tglx






\
 
 \ /
  Last update: 2014-12-06 23:41    [W:0.247 / U:0.840 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site