Re: [PATCH v4 54/57] x86/mm: convert arch_within_stack_frames() to use the new unwinder

From: Josh Poimboeuf
Date: Tue Aug 23 2016 - 17:10:02 EST


On Tue, Aug 23, 2016 at 01:31:20PM -0700, Andy Lutomirski wrote:
> On Aug 23, 2016 12:11 AM, "Linus Torvalds"
> So the fact that this seems to have any significant effect on
> performance suggests to me that it's being run unnecessarily

Yeah, I think check_object_size() is being run unnecessarily in a lot of
cases. Calling it only when size is non-const would probably speed
things up a lot.

> or that somehow we're walking all the way to the top of the stack in
> cases where we shouldn't have done so.

I know that's not happening because this code would print a warning.

> Josh, can you see an example call site in a profile of your test to
> find out what this code is doing?

I can try to figure it out tomorrow. But really it doesn't surprise me
much that this patch makes arch_within_stack_frames() an order of
magnitude slower. The original code was very simple, whereas
__unwind_start() and unwind_next_frame() have a lot more code.

--
Josh