[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160913131802.oiwxgpmccn7uufef@treble>
Date: Tue, 13 Sep 2016 08:18:02 -0500
From: Josh Poimboeuf <jpoimboe@...hat.com>
To: Byungchul Park <byungchul.park@....com>
Cc: peterz@...radead.org, mingo@...nel.org, tglx@...utronix.de,
walken@...gle.com, boqun.feng@...il.com, kirill@...temov.name,
linux-kernel@...r.kernel.org, linux-mm@...ck.org,
iamjoonsoo.kim@....com, akpm@...ux-foundation.org,
npiggin@...il.com
Subject: Re: [PATCH v3 01/15] x86/dumpstack: Optimize save_stack_trace
On Tue, Sep 13, 2016 at 06:45:00PM +0900, Byungchul Park wrote:
> Currently, x86 implementation of save_stack_trace() is walking all stack
> region word by word regardless of what the trace->max_entries is.
> However, it's unnecessary to walk after already fulfilling caller's
> requirement, say, if trace->nr_entries >= trace->max_entries is true.
>
> I measured its overhead and printed its difference of sched_clock() with
> my QEMU x86 machine. The latency was improved over 70% when
> trace->max_entries = 5.
This code will (probably) be obsoleted soon with my new unwinder.
Also, my previous comment was ignored:
Instead of adding a new callback, why not just check the ops->address()
return value? It already returns an error if the array is full.
I think that would be cleaner and would help prevent more callback
sprawl.
--
Josh
Powered by blists - more mailing lists