* [PATCH bpf-next] samples/bpf: offwaketime: pretty print
@ 2022-09-26 2:22 Rong Tao
2022-09-27 23:37 ` Martin KaFai Lau
0 siblings, 1 reply; 3+ messages in thread
From: Rong Tao @ 2022-09-26 2:22 UTC (permalink / raw)
Cc: Rong Tao, Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
Martin KaFai Lau, Song Liu, Yonghong Song, John Fastabend,
KP Singh, Stanislav Fomichev, Hao Luo, Jiri Olsa, bpf,
linux-kernel
From: Rong Tao <rongtao@cestc.cn>
A sample of call stack:
swapper/10 [
secondary_startup_64_no_verify
cpu_startup_entry
do_idle
schedule_idle
__schedule
__traceiter_sched_switch
__traceiter_sched_switch
-
try_to_wake_up
call_timer_fn
__run_timers.part.0
run_timer_softirq
__softirqentry_text_start
__irq_exit_rcu
sysvec_apic_timer_interrupt
asm_sysvec_apic_timer_interrupt
cpuidle_enter_state
cpuidle_enter
cpuidle_idle_call
do_idle
cpu_startup_entry
secondary_startup_64_no_verify
] swapper/10 1
Signed-off-by: Rong Tao <rongtao@cestc.cn>
---
samples/bpf/offwaketime_user.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/samples/bpf/offwaketime_user.c b/samples/bpf/offwaketime_user.c
index b6eedcb98fb9..d89278d62e4e 100644
--- a/samples/bpf/offwaketime_user.c
+++ b/samples/bpf/offwaketime_user.c
@@ -30,9 +30,9 @@ static void print_ksym(__u64 addr)
}
if (PRINT_RAW_ADDR)
- printf("%s/%llx;", sym->name, addr);
+ printf("\t%s/%llx\n", sym->name, addr);
else
- printf("%s;", sym->name);
+ printf("\t%s\n", sym->name);
}
#define TASK_COMM_LEN 16
@@ -50,21 +50,21 @@ static void print_stack(struct key_t *key, __u64 count)
static bool warned;
int i;
- printf("%s;", key->target);
+ printf("%s [\n", key->target);
if (bpf_map_lookup_elem(map_fd[1], &key->tret, ip) != 0) {
- printf("---;");
+ printf("\t---\n");
} else {
for (i = PERF_MAX_STACK_DEPTH - 1; i >= 0; i--)
print_ksym(ip[i]);
}
- printf("-;");
+ printf("\t-\n");
if (bpf_map_lookup_elem(map_fd[1], &key->wret, ip) != 0) {
- printf("---;");
+ printf("\t---\n");
} else {
for (i = 0; i < PERF_MAX_STACK_DEPTH; i++)
print_ksym(ip[i]);
}
- printf(";%s %lld\n", key->waker, count);
+ printf("] %s %lld\n", key->waker, count);
if ((key->tret == -EEXIST || key->wret == -EEXIST) && !warned) {
printf("stackmap collisions seen. Consider increasing size\n");
--
2.31.1
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH bpf-next] samples/bpf: offwaketime: pretty print
2022-09-26 2:22 [PATCH bpf-next] samples/bpf: offwaketime: pretty print Rong Tao
@ 2022-09-27 23:37 ` Martin KaFai Lau
2022-09-28 1:20 ` Rong Tao
0 siblings, 1 reply; 3+ messages in thread
From: Martin KaFai Lau @ 2022-09-27 23:37 UTC (permalink / raw)
To: Rong Tao
Cc: Rong Tao, Alexei Starovoitov, Daniel Borkmann, Andrii Nakryiko,
Song Liu, Yonghong Song, John Fastabend, KP Singh,
Stanislav Fomichev, Hao Luo, Jiri Olsa, bpf, linux-kernel
On 9/25/22 7:22 PM, Rong Tao wrote:
> From: Rong Tao <rongtao@cestc.cn>
>
> A sample of call stack:
> swapper/10 [
> secondary_startup_64_no_verify
> cpu_startup_entry
> do_idle
> schedule_idle
> __schedule
> __traceiter_sched_switch
> __traceiter_sched_switch
> -
> try_to_wake_up
> call_timer_fn
> __run_timers.part.0
> run_timer_softirq
> __softirqentry_text_start
> __irq_exit_rcu
> sysvec_apic_timer_interrupt
> asm_sysvec_apic_timer_interrupt
> cpuidle_enter_state
> cpuidle_enter
> cpuidle_idle_call
> do_idle
> cpu_startup_entry
> secondary_startup_64_no_verify
> ] swapper/10 1
>
> Signed-off-by: Rong Tao <rongtao@cestc.cn>
> ---
> samples/bpf/offwaketime_user.c | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/samples/bpf/offwaketime_user.c b/samples/bpf/offwaketime_user.c
> index b6eedcb98fb9..d89278d62e4e 100644
> --- a/samples/bpf/offwaketime_user.c
> +++ b/samples/bpf/offwaketime_user.c
> @@ -30,9 +30,9 @@ static void print_ksym(__u64 addr)
> }
>
> if (PRINT_RAW_ADDR)
> - printf("%s/%llx;", sym->name, addr);
> + printf("\t%s/%llx\n", sym->name, addr);
The origin commit intention is to have an external script for post processing.
Beside, there are bcc, bpftrace, and libbpf-tools which are better places to
have different output options. The current code is good enough for sample
purpose and no need for unnecessary code churn.
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH bpf-next] samples/bpf: offwaketime: pretty print
2022-09-27 23:37 ` Martin KaFai Lau
@ 2022-09-28 1:20 ` Rong Tao
0 siblings, 0 replies; 3+ messages in thread
From: Rong Tao @ 2022-09-28 1:20 UTC (permalink / raw)
To: martin.lau
Cc: andrii, ast, bpf, daniel, haoluo, john.fastabend, jolsa, kpsingh,
linux-kernel, rongtao, rtoax, sdf, song, yhs
From: Rong Tao <rongtao@cestc.cn>
Thank you very much for your reply, next time I will know all before
submitting.
--
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-09-28 1:20 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-26 2:22 [PATCH bpf-next] samples/bpf: offwaketime: pretty print Rong Tao
2022-09-27 23:37 ` Martin KaFai Lau
2022-09-28 1:20 ` Rong Tao
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®