-
Notifications
You must be signed in to change notification settings - Fork 5
Pass external callchain entry to get_perf_callchain #6338
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: bpf-next_base
Are you sure you want to change the base?
Pass external callchain entry to get_perf_callchain #6338
Conversation
|
Upstream branch: 026bcf9 |
|
Upstream branch: 3249e8a |
1630e27 to
c696fc7
Compare
4eb9670 to
e1b05fd
Compare
|
Upstream branch: f1d8c65 |
c696fc7 to
421b147
Compare
e1b05fd to
b1af442
Compare
|
Upstream branch: 93ce3be |
421b147 to
d1ab50f
Compare
b1af442 to
67d3dd3
Compare
|
Upstream branch: 93ce3be |
d1ab50f to
de88a2e
Compare
67d3dd3 to
488318d
Compare
|
Upstream branch: c1da3df |
de88a2e to
b490115
Compare
488318d to
728ac5f
Compare
|
Upstream branch: fea3f5e |
b490115 to
a618736
Compare
728ac5f to
4fcc7e1
Compare
|
Upstream branch: 63066b7 |
a618736 to
2f6cbfb
Compare
4fcc7e1 to
1aeb398
Compare
|
Upstream branch: c133390 |
2f6cbfb to
0fd3509
Compare
1aeb398 to
f68d848
Compare
|
Upstream branch: ef2c0b2 |
|
Upstream branch: c427320 |
f6e6a3e to
9ff9546
Compare
3282beb to
067f842
Compare
|
Upstream branch: fad8040 |
9ff9546 to
0e4e00d
Compare
067f842 to
3bd2c43
Compare
|
Upstream branch: acf8726 |
0e4e00d to
36460ef
Compare
3bd2c43 to
71c4be1
Compare
|
Upstream branch: 4617b30 |
36460ef to
05654d0
Compare
71c4be1 to
9b3817c
Compare
|
Upstream branch: 590699d |
05654d0 to
cc6cf82
Compare
9b3817c to
90dfd48
Compare
|
Upstream branch: f2cb066 |
cc6cf82 to
c548dcc
Compare
90dfd48 to
1559a3a
Compare
|
Upstream branch: 8c868a3 |
c548dcc to
90866e2
Compare
1559a3a to
ae9b520
Compare
|
Upstream branch: 8f6ddc0 |
90866e2 to
b8ac616
Compare
ae9b520 to
399fdcb
Compare
|
Upstream branch: 5262cb2 |
From BPF stack map, we want to ensure that the callchain buffer will not be overwritten by other preemptive tasks. Peter suggested provide more flexible stack-sampling APIs, which can be used in BPF, and we can still use the perf callchain entry with the help of these APIs. The next patch will modify the BPF part. In the future, these APIs will also make it convenient for us to add stack-sampling kfuncs in the eBPF subsystem, just as Andrii and Alexei discussed earlier. Signed-off-by: Peter Zijlstra <[email protected]> Signed-off-by: Tao Chen <[email protected]>
As Alexei noted, get_perf_callchain() return values may be reused if a task is preempted after the BPF program enters migrate disable mode. The perf_callchain_entres has a small stack of entries, and we can reuse it as follows: 1. get the perf callchain entry 2. BPF use... 3. put the perf callchain entry And Peter suggested that get_recursion_context used with preemption disabled, so we should disable preemption at BPF side. Signed-off-by: Tao Chen <[email protected]> Acked-by: Yonghong Song <[email protected]>
b8ac616 to
60b128c
Compare
399fdcb to
8c83cb5
Compare
Pull request for series with
subject: Pass external callchain entry to get_perf_callchain
version: 6
url: https://patchwork.kernel.org/project/netdevbpf/list/?series=1022592