All of lore.kernel.org
 help / color / mirror / Atom feed
From: AKASHI Takahiro <takahiro.akashi@linaro.org>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: catalin.marinas@arm.com, will.deacon@arm.com,
	jungseoklee85@gmail.com, olof@lixom.net, broonie@kernel.org,
	david.griego@linaro.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 1/7] arm64: ftrace: adjust callsite addresses examined by stack tracer
Date: Wed, 14 Oct 2015 14:09:25 +0900	[thread overview]
Message-ID: <561DE385.1040005@linaro.org> (raw)
In-Reply-To: <20151013113750.0fdecd33@gandalf.local.home>

On 10/14/2015 12:37 AM, Steven Rostedt wrote:
> On Thu,  8 Oct 2015 19:01:38 +0900
> AKASHI Takahiro <takahiro.akashi@linaro.org> wrote:
>
>>   extern int stack_tracer_enabled;
>>   int
>>   stack_trace_sysctl(struct ctl_table *table, int write,
>> diff --git a/kernel/trace/trace_stack.c b/kernel/trace/trace_stack.c
>> index b746399..30521ea 100644
>> --- a/kernel/trace/trace_stack.c
>> +++ b/kernel/trace/trace_stack.c
>> @@ -105,7 +105,7 @@ check_stack(unsigned long ip, unsigned long *stack)
>>
>>   	/* Skip over the overhead of the stack tracer itself */
>>   	for (i = 0; i < max_stack_trace.nr_entries; i++) {
>> -		if (stack_dump_trace[i] == ip)
>> +		if ((stack_dump_trace[i] + FTRACE_STACK_FRAME_OFFSET) == ip)
>>   			break;
>>   	}
>>
>> @@ -133,7 +133,8 @@ check_stack(unsigned long ip, unsigned long *stack)
>>   		for (; p < top && i < max_stack_trace.nr_entries; p++) {
>>   			if (stack_dump_trace[i] == ULONG_MAX)
>>   				break;
>> -			if (*p == stack_dump_trace[i]) {
>> +			if (*p == (stack_dump_trace[i]
>> +					+ FTRACE_STACK_FRAME_OFFSET)) {
>
> I'm fine with the patch, but this is one of those cases that I think
> the 80 column max limit produces uglier code than just going a little
> over.
>
> Or, we can add a helper variable in both locations:
>
> 	addr = stack_dump_trace[i] + FTRACE_STACK_FRAME_OFFSET;
> 	if (*p == addr) {
>
> gcc should be smart enough to optimize out the addr variable.

Thanks, I will take this.
(please note that this patch won't be necessary if my patch5,6 and 7 are
accepted.)

-Takahiro AKASHI

> -- Steve
>
>>   				stack_dump_trace[x] = stack_dump_trace[i++];
>>   				this_size = stack_dump_index[x++] =
>>   					(top - p) * sizeof(unsigned long);
>

WARNING: multiple messages have this Message-ID (diff)
From: takahiro.akashi@linaro.org (AKASHI Takahiro)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 1/7] arm64: ftrace: adjust callsite addresses examined by stack tracer
Date: Wed, 14 Oct 2015 14:09:25 +0900	[thread overview]
Message-ID: <561DE385.1040005@linaro.org> (raw)
In-Reply-To: <20151013113750.0fdecd33@gandalf.local.home>

On 10/14/2015 12:37 AM, Steven Rostedt wrote:
> On Thu,  8 Oct 2015 19:01:38 +0900
> AKASHI Takahiro <takahiro.akashi@linaro.org> wrote:
>
>>   extern int stack_tracer_enabled;
>>   int
>>   stack_trace_sysctl(struct ctl_table *table, int write,
>> diff --git a/kernel/trace/trace_stack.c b/kernel/trace/trace_stack.c
>> index b746399..30521ea 100644
>> --- a/kernel/trace/trace_stack.c
>> +++ b/kernel/trace/trace_stack.c
>> @@ -105,7 +105,7 @@ check_stack(unsigned long ip, unsigned long *stack)
>>
>>   	/* Skip over the overhead of the stack tracer itself */
>>   	for (i = 0; i < max_stack_trace.nr_entries; i++) {
>> -		if (stack_dump_trace[i] == ip)
>> +		if ((stack_dump_trace[i] + FTRACE_STACK_FRAME_OFFSET) == ip)
>>   			break;
>>   	}
>>
>> @@ -133,7 +133,8 @@ check_stack(unsigned long ip, unsigned long *stack)
>>   		for (; p < top && i < max_stack_trace.nr_entries; p++) {
>>   			if (stack_dump_trace[i] == ULONG_MAX)
>>   				break;
>> -			if (*p == stack_dump_trace[i]) {
>> +			if (*p == (stack_dump_trace[i]
>> +					+ FTRACE_STACK_FRAME_OFFSET)) {
>
> I'm fine with the patch, but this is one of those cases that I think
> the 80 column max limit produces uglier code than just going a little
> over.
>
> Or, we can add a helper variable in both locations:
>
> 	addr = stack_dump_trace[i] + FTRACE_STACK_FRAME_OFFSET;
> 	if (*p == addr) {
>
> gcc should be smart enough to optimize out the addr variable.

Thanks, I will take this.
(please note that this patch won't be necessary if my patch5,6 and 7 are
accepted.)

-Takahiro AKASHI

> -- Steve
>
>>   				stack_dump_trace[x] = stack_dump_trace[i++];
>>   				this_size = stack_dump_index[x++] =
>>   					(top - p) * sizeof(unsigned long);
>

  reply	other threads:[~2015-10-14  5:09 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-08 10:01 [PATCH v3 0/7] arm64: ftrace: fix incorrect output from stack tracer AKASHI Takahiro
2015-10-08 10:01 ` AKASHI Takahiro
2015-10-08 10:01 ` [PATCH v3 1/7] arm64: ftrace: adjust callsite addresses examined by " AKASHI Takahiro
2015-10-08 10:01   ` AKASHI Takahiro
2015-10-13 15:15   ` Jungseok Lee
2015-10-13 15:15     ` Jungseok Lee
2015-10-13 15:37   ` Steven Rostedt
2015-10-13 15:37     ` Steven Rostedt
2015-10-14  5:09     ` AKASHI Takahiro [this message]
2015-10-14  5:09       ` AKASHI Takahiro
2015-10-08 10:01 ` [PATCH v3 2/7] arm64: ftrace: modify a stack frame in a safe way AKASHI Takahiro
2015-10-08 10:01   ` AKASHI Takahiro
2015-10-08 10:01 ` [PATCH v3 3/7] arm64: ftrace: fix a stack tracer's output under function graph tracer AKASHI Takahiro
2015-10-08 10:01   ` AKASHI Takahiro
2015-10-09  6:46   ` kbuild test robot
2015-10-09  6:46     ` kbuild test robot
2015-10-13 15:24   ` Jungseok Lee
2015-10-13 15:24     ` Jungseok Lee
2015-10-14  5:03     ` AKASHI Takahiro
2015-10-14  5:03       ` AKASHI Takahiro
2015-10-08 10:01 ` [PATCH v3 4/7] arm64: ftrace: allow for tracing leaf functions AKASHI Takahiro
2015-10-08 10:01   ` AKASHI Takahiro
2015-10-08 10:01 ` [PATCH v3 5/7] ftrace: allow arch-specific stack tracer AKASHI Takahiro
2015-10-08 10:01   ` AKASHI Takahiro
2015-10-13 15:45   ` Steven Rostedt
2015-10-13 15:45     ` Steven Rostedt
2015-10-08 10:01 ` [PATCH v3 6/7] arm64: insn: add instruction decoders for ldp/stp and add/sub AKASHI Takahiro
2015-10-08 10:01   ` AKASHI Takahiro
2015-10-08 10:01 ` [PATCH v3 7/7] arm64: ftrace: add arch-specific stack tracer AKASHI Takahiro
2015-10-08 10:01   ` AKASHI Takahiro
2015-10-09  6:41   ` kbuild test robot
2015-10-09  6:41     ` kbuild test robot
2015-10-08 14:45 ` [PATCH v3 0/7] arm64: ftrace: fix incorrect output from " Jungseok Lee
2015-10-08 14:45   ` Jungseok Lee
2015-10-22 14:05   ` Jungseok Lee
2015-10-22 14:05     ` Jungseok Lee
2015-10-28 15:23 ` Will Deacon
2015-10-28 15:23   ` Will Deacon
2015-10-29  5:24   ` AKASHI Takahiro
2015-10-29  5:24     ` AKASHI Takahiro

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=561DE385.1040005@linaro.org \
    --to=takahiro.akashi@linaro.org \
    --cc=broonie@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=david.griego@linaro.org \
    --cc=jungseoklee85@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=olof@lixom.net \
    --cc=rostedt@goodmis.org \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.