Messages in this thread | | | Subject | Re: [PATCH 1/3] Increase lockdep limits: MAX_STACK_TRACE_ENTRIES | From | Peter Zijlstra <> | Date | Thu, 09 Jul 2009 11:09:58 +0200 |
| |
On Thu, 2009-07-09 at 10:06 +0100, Catalin Marinas wrote: > On Wed, 2009-07-08 at 20:36 +0200, Peter Zijlstra wrote: > > As a side node, I see that each and every trace ends with a -1 entry: > > > > ... > > [ 1194.412158] [<c01f7990>] do_mount+0x3c0/0x7c0 > > [ 1194.412158] [<c01f7e14>] sys_mount+0x84/0xb0 > > [ 1194.412158] [<c01221b1>] syscall_call+0x7/0xb > > [ 1194.412158] [<ffffffff>] 0xffffffff > > > > Which seems to come from: > > > > void save_stack_trace(struct stack_trace *trace) > > { > > dump_trace(current, NULL, NULL, 0, &save_stack_ops, trace); > > if (trace->nr_entries < trace->max_entries) > > trace->entries[trace->nr_entries++] = ULONG_MAX; > > } > > EXPORT_SYMBOL_GPL(save_stack_trace); > > > > commit 006e84ee3a54e393ec6bef2a9bc891dc5bde2843 seems involved,.. > > The reason for this is that if there are no more traces to show, it > inserts -1. In this case, it cannot trace beyond the system call. If the > stack trace is truncated because of the maximum number of trace entries > it can show, you won't get a -1. > > Before the commit above, it was always inserting -1 even if the trace > was longer than the maximum number of entries.
Seems daft to me, I'll fix up lockdep to truncate that last entry, having a gazillion copies of -1 in the trace entries doesn't make sense.
| |