lkml.org 
[lkml]   [2012]   [Jun]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectbig allocation failure during tracing init.
I just hit this during a low-memory test..

trinity-child6: page allocation failure: order:4, mode:0xc0d0
Pid: 25842, comm: trinity-child6 Not tainted 3.5.0-rc3+ #95
Call Trace:
[<ffffffff81147fab>] warn_alloc_failed+0xeb/0x150
[<ffffffff8114c2d6>] __alloc_pages_nodemask+0x836/0xab0
[<ffffffff8118a630>] alloc_pages_current+0xb0/0x120
[<ffffffff8108e377>] ? local_clock+0x47/0x60
[<ffffffff811471d4>] __get_free_pages+0x14/0x50
[<ffffffff811963c9>] kmalloc_order_trace+0x39/0x190
[<ffffffff810b3108>] ? trace_hardirqs_off_caller+0x28/0xc0
[<ffffffff81196cbe>] __kmalloc+0x23e/0x290
[<ffffffff811d270c>] __seq_open_private+0x2c/0x80
[<ffffffff81114d8c>] tracing_open+0x8c/0x340
[<ffffffff811aadbf>] do_dentry_open+0x25f/0x310
[<ffffffff81114d00>] ? tracing_iter_reset+0x90/0x90
[<ffffffff811ac2fe>] nameidata_to_filp+0x7e/0xe0
[<ffffffff811bc427>] do_last+0x4a7/0x9f0
[<ffffffff811be2ac>] path_openat+0xdc/0x410
[<ffffffff8108e377>] ? local_clock+0x47/0x60
[<ffffffff811cd231>] ? alloc_fd+0x171/0x220
[<ffffffff811cd231>] ? alloc_fd+0x171/0x220
[<ffffffff811be701>] do_filp_open+0x41/0xa0
[<ffffffff816501e5>] ? _raw_spin_unlock+0x35/0x60
[<ffffffff811cd231>] ? alloc_fd+0x171/0x220
[<ffffffff811ac44d>] do_sys_open+0xed/0x1c0
[<ffffffff811ac564>] sys_openat+0x14/0x20
[<ffffffff81657b96>] system_call_fastpath+0x1a/0x1f

I guess the problem is on kernels built with CONFIG_MAXCPUS, struct trace_iterator
can be pretty large due to this embedded in it..

struct ring_buffer_iter *buffer_iter[NR_CPUS];

Any thoughts on how to change that to a smaller dynamic data structure,
without adding too much overhead to tracing ? (I'm assuming a linked-list walk
for eg would be excessive?)

Dave



\
 
 \ /
  Last update: 2012-06-22 22:21    [W:0.069 / U:0.536 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site