lkml.org 
[lkml]   [2016]   [Jun]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC 12/12] x86/dumpstack: Optimize save_stack_trace
On Thu, Jun 30, 2016 at 06:38:47PM +0800, xinhui wrote:
> >>>>+static int save_stack_end(void *data)
> >>>>+{
> >>>>+ struct stack_trace *trace = data;
> >>>>+ return trace->nr_entries >= trace->max_entries;
> >>>>+}
> >>>>+
> >>>> static const struct stacktrace_ops save_stack_ops = {
> >>>> .stack = save_stack_stack,
> >>>> .address = save_stack_address,
> >>>then why not check the return value of ->address(), -1 indicate there is
> >>>no room to store any pointer.
> >>
> >>Hello,
> >>
> >>Indeed. It also looks good to me even though it has to propagate the condition
> >>between callback functions. I will modify it if it's better.
> >
> >Do you also think it would be better to make it propagate the result of
> >->address() rather than add a new callback, say, end_walk?
> >
> It's up to you. In my opinion, end_walk is better for reading.

I also prefer the way this patch works.

> >>
> >>Thank you.
> >>Byungchul
> >>
> >>>
> >>>> .walk_stack = print_context_stack,
> >>>>+ .end_walk = save_stack_end,
> >>>> };
> >>>>
> >>>> static const struct stacktrace_ops save_stack_ops_nosched = {
> >>>>
> >

\
 
 \ /
  Last update: 2016-07-01 01:41    [W:0.294 / U:0.112 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site