2019-05-29 03:30:27

by Ming Lei

[permalink] [raw]
Subject: ebpf trace doesn't work during cpu hotplug

Hi,

Looks ebpf trace doesn't work during cpu hotplug, see the following trace:

1) trace two functions called during CPU unplug via bcc/trace

/usr/share/bcc/tools/trace -T 'takedown_cpu "%d", arg1' 'take_cpu_down'

2) put cpu7 offline via:

echo 0 > /sys/devices/system/cpu/cpu7/online

3) only trace on 'takedown_cpu' is dumped via bcc/trace:

TIME PID TID COMM FUNC -
03:23:17 733 733 bash takedown_cpu 7

The lost trace on 'take_cpu_down' can never be shown, even though
CPU7 is switched ON again.

take_cpu_down is called via stop_machine_cpuslocked.

Thanks,
Ming Lei


2019-07-08 14:07:44

by Ming Lei

[permalink] [raw]
Subject: Re: ebpf trace doesn't work during cpu hotplug

On Wed, May 29, 2019 at 11:28 AM Ming Lei <[email protected]> wrote:
>
> Hi,
>
> Looks ebpf trace doesn't work during cpu hotplug, see the following trace:
>
> 1) trace two functions called during CPU unplug via bcc/trace
>
> /usr/share/bcc/tools/trace -T 'takedown_cpu "%d", arg1' 'take_cpu_down'
>
> 2) put cpu7 offline via:
>
> echo 0 > /sys/devices/system/cpu/cpu7/online
>
> 3) only trace on 'takedown_cpu' is dumped via bcc/trace:
>
> TIME PID TID COMM FUNC -
> 03:23:17 733 733 bash takedown_cpu 7
>
> The lost trace on 'take_cpu_down' can never be shown, even though
> CPU7 is switched ON again.
>
> take_cpu_down is called via stop_machine_cpuslocked.

From a user view, I think the tool should be reliable to collect
traces any time.

So ping on this issue...


Thanks,
Ming Lei