[PATCH v2 0/3] Fix G12 PMU conflict
Marc Gonzalez
marc.w.gonzalez at free.fr
Mon Mar 27 08:52:52 PDT 2023
On 27/03/2023 17:36, Marc Gonzalez wrote:
> On 27/03/2023 17:25, Marc Gonzalez wrote:
>
>> Hmmm... the perf driver doesn't like my setup... :(
>>
>> # perf record -a -F 1009 --call-graph fp -B curl -o /dev/null http://192.168.1.254:8095/fixed/1G
>> % Total % Received % Xferd Average Speed Time Time Time Current
>> Dload Upload Total Spent Left Speed
>> 0 1024M 0 8342k 0 0 7564k 0 0:02:18 0:00:01 0:02:17 7563k
>>
>> [ 1036.936099] SError Interrupt on CPU1, code 0x00000000bf000000 -- SError
>> [ 1036.936116] CPU: 1 PID: 61 Comm: kworker/u9:0 Not tainted 6.2.0 #449
>> [ 1036.936122] Hardware name: SEI Robotics SEI510 (DT)
>> [ 1036.936126] Workqueue: brcmf_wq/mmc2:0001:1 brcmf_sdio_dataworker
>> [ 1036.936144] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
>> [ 1036.936150] pc : brcmf_sdiod_skbuff_read+0x28/0xa0
>> [ 1036.936159] lr : brcmf_sdiod_recv_chain+0xe4/0x160
>> [ 1036.936166] sp : ffff80000a18bc00
>> [ 1036.936169] x29: ffff80000a18bc00 x28: ffff8000087d31a0 x27: ffff8000087d2e60
>> [ 1036.936177] x26: ffff000004990b00 x25: 0000000000000009 x24: ffff8000087d31a0
>> [ 1036.936184] x23: ffff000004998500 x22: 0000000000008000 x21: ffff000000873278
>> [ 1036.936192] x20: 000000000000c100 x19: ffff000000872800 x18: 0000000000000000
>> [ 1036.936199] x17: ffff80005df77000 x16: ffff80000800c000 x15: 0000000000000000
>> [ 1036.936205] x14: 0000000000000002 x13: 0000000000077f7a x12: 0000000000000068
>> [ 1036.936213] x11: 00000000000000c0 x10: 0000000000000068 x9 : fffffc0000150800
>> [ 1036.936220] x8 : fffffc0000150801 x7 : ffff80005df77000 x6 : ffff000004998500
>> [ 1036.936227] x5 : ffff0000008bc000 x4 : 000000000000c103 x3 : ffff000004998500
>> [ 1036.936233] x2 : 0000000000008000 x1 : 0000000000000002 x0 : ffff000000872800
>> [ 1036.936243] Kernel panic - not syncing: Asynchronous SError Interrupt
>> [ 1036.936247] CPU: 1 PID: 61 Comm: kworker/u9:0 Not tainted 6.2.0 #449
>> [ 1036.936252] Hardware name: SEI Robotics SEI510 (DT)
>> [ 1036.936255] Workqueue: brcmf_wq/mmc2:0001:1 brcmf_sdio_dataworker
>> [ 1036.936262] Call trace:
>> [ 1036.936264] dump_backtrace.part.0+0xe0/0xf0
>> [ 1036.936273] show_stack+0x18/0x30
>> [ 1036.936280] dump_stack_lvl+0x68/0x84
>> [ 1036.936288] dump_stack+0x18/0x34
>> [ 1036.936294] panic+0x184/0x344
>> [ 1036.936301] nmi_panic+0xac/0xb0
>> [ 1036.936308] arm64_serror_panic+0x6c/0x80
>> [ 1036.936314] do_serror+0x58/0x60
>> [ 1036.936318] el1h_64_error_handler+0x30/0x50
>> [ 1036.936324] el1h_64_error+0x64/0x68
>> [ 1036.936330] brcmf_sdiod_skbuff_read+0x28/0xa0
>> [ 1036.936336] brcmf_sdiod_recv_chain+0xe4/0x160
>> [ 1036.936343] brcmf_sdio_dataworker+0x898/0x23d0
>> [ 1036.936348] process_one_work+0x1cc/0x320
>> [ 1036.936354] worker_thread+0x14c/0x450
>> [ 1036.936359] kthread+0xfc/0x100
>> [ 1036.936364] ret_from_fork+0x10/0x20
>> [ 1036.936371] SMP: stopping secondary CPUs
>> [ 1036.936378] Kernel Offset: disabled
>> [ 1036.936379] CPU features: 0x00000,01000100,0000420b
>> [ 1036.936384] Memory Limit: none
>> [ 1037.149180] ---[ end Kernel panic - not syncing: Asynchronous SError Interrupt ]---
>
>
> Different crash signature:
>
> # ./wifi.sh
> Successfully initialized wpa_supplicant
> [ 40.127823] ieee80211 phy0: brcmf_dongle_roam: WLC_SET_ROAM_TRIGGER error (-52)
> udhcpc: started, v1.35.0
> udhcpc: broadcasting discover
> udhcpc: broadcasting discover
> udhcpc: broadcasting select for 192.168.1.67, server 192.168.1.254
> udhcpc: lease of 192.168.1.67 obtained from 192.168.1.254, lease time 43200
> deleting routers
> adding dns 192.168.1.254
> #
> # perf record -a -F 1009 --call-graph fp -B curl -o /dev/null http://192.168.1.254:8095/fixed/1G
> % Total % Received % Xferd Average Speed Time Time Time Current
> Dload Upload Total Spent Left Speed
> 15 1024M 15 156M 0 0 8079k 0 0:02:09 0:00:19 0:01:50 8051k
>
> [ 132.334655] SError Interrupt on CPU2, code 0x00000000bf000000 -- SError
> [ 132.334678] CPU: 2 PID: 158 Comm: perf Not tainted 6.2.0 #449
> [ 132.334686] Hardware name: SEI Robotics SEI510 (DT)
> [ 132.334690] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
> [ 132.334697] pc : __arch_copy_from_user+0x1c8/0x230
> [ 132.334714] lr : copy_page_from_iter_atomic+0x1d4/0x5d0
> [ 132.334723] sp : ffff80000a42bb50
> [ 132.334725] x29: ffff80000a42bb50 x28: 0000000000000000 x27: 0000000000000800
> [ 132.334737] x26: ffff80000877da80 x25: ffff000000eb3a00 x24: 0000000000016498
> [ 132.334745] x23: ffff000000000000 x22: 0000040000000000 x21: ffff80000a42bd50
> [ 132.334752] x20: ffff000005400000 x19: 0000000000000800 x18: 0000000000000000
> [ 132.334759] x17: 0000000000000000 x16: 0000000000000000 x15: 0000ffff84a73ff0
> [ 132.334766] x14: 0000000000000007 x13: 00000000000f1f68 x12: 0000000000000001
> [ 132.334774] x11: 0000001ecf0a934d x10: 0000000000000000 x9 : ffff80000875c020
> [ 132.334781] x8 : ffff800008753188 x7 : ffffffffffffff80 x6 : ffff0000054001a0
> [ 132.334788] x5 : ffff000005400800 x4 : 0000000000000000 x3 : 0000000000000800
> [ 132.334796] x2 : 0000000000000600 x1 : 0000ffff84a741c0 x0 : ffff000005400000
> [ 132.334807] Kernel panic - not syncing: Asynchronous SError Interrupt
> [ 132.334811] CPU: 2 PID: 158 Comm: perf Not tainted 6.2.0 #449
> [ 132.334817] Hardware name: SEI Robotics SEI510 (DT)
> [ 132.334822] Call trace:
> [ 132.334824] dump_backtrace.part.0+0xe0/0xf0
> [ 132.334836] show_stack+0x18/0x30
> [ 132.334843] dump_stack_lvl+0x68/0x84
> [ 132.334851] dump_stack+0x18/0x34
> [ 132.334857] panic+0x184/0x344
> [ 132.334865] nmi_panic+0xac/0xb0
> [ 132.334870] arm64_serror_panic+0x6c/0x80
> [ 132.334875] do_serror+0x58/0x60
> [ 132.334879] el1h_64_error_handler+0x30/0x50
> [ 132.334885] el1h_64_error+0x64/0x68
> [ 132.334891] __arch_copy_from_user+0x1c8/0x230
> [ 132.334897] generic_perform_write+0xe8/0x1e0
> [ 132.334905] __generic_file_write_iter+0x11c/0x1b0
> [ 132.334911] generic_file_write_iter+0x78/0x110
> [ 132.334915] vfs_write+0x2b0/0x390
> [ 132.334923] ksys_write+0x68/0x100
> [ 132.334928] __arm64_sys_write+0x1c/0x30
> [ 132.334934] invoke_syscall+0x48/0x120
> [ 132.334943] el0_svc_common.constprop.0+0x44/0xf0
> [ 132.334950] do_el0_svc+0x38/0xc0
> [ 132.334956] el0_svc+0x2c/0x90
> [ 132.334960] el0t_64_sync_handler+0xb8/0xc0
> [ 132.334964] el0t_64_sync+0x190/0x194
> [ 132.334970] SMP: stopping secondary CPUs
> [ 132.334977] Kernel Offset: disabled
> [ 132.334978] CPU features: 0x00000,01000100,0000420b
> [ 132.334982] Memory Limit: none
>
>
> Will check this patch:
> https://lore.kernel.org/all/20230209115403.521868-1-jiucheng.xu@amlogic.com/
Panics also with the above patch applied :(
The problem seems to be with perf, since normal downloads
complete successfully:
# ./wifi.sh
Successfully initialized wpa_supplicant
[ 12.029572] ieee80211 phy0: brcmf_dongle_roam: WLC_SET_ROAM_TRIGGER error (-52)
udhcpc: started, v1.35.0
udhcpc: broadcasting discover
udhcpc: broadcasting discover
udhcpc: broadcasting select for 192.168.1.67, server 192.168.1.254
udhcpc: lease of 192.168.1.67 obtained from 192.168.1.254, lease time 43200
deleting routers
adding dns 192.168.1.254
#
# curl -o /dev/null http://192.168.1.254:8095/fixed/1G
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1024M 100 1024M 0 0 7927k 0 0:02:12 0:02:12 --:--:-- 8023k
#
# perf record -a -F 1009 --call-graph fp -B curl -o /dev/null http://192.168.1.254:8095/fixed/1G
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
8 1024M 8 85.7M 0 0 8009k 0 0:02:10 0:00:10 0:02:00 8101k
[ 222.699138] SError Interrupt on CPU2, code 0x00000000bf000000 -- SError
[ 222.699155] CPU: 2 PID: 159 Comm: perf Not tainted 6.2.0 #451
[ 222.699162] Hardware name: SEI Robotics SEI510 (DT)
[ 222.699165] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 222.699170] pc : __arch_copy_from_user+0x1c8/0x230
[ 222.699184] lr : copy_page_from_iter_atomic+0x1d4/0x5d0
[ 222.699192] sp : ffff80000a313b50
[ 222.699195] x29: ffff80000a313b50 x28: 0000000000000000 x27: 0000000000001000
[ 222.699205] x26: ffff80000877da80 x25: ffff000000b27d00 x24: 0000000000001f90
[ 222.699213] x23: ffff000000000000 x22: 0000040000000000 x21: ffff80000a313d50
[ 222.699220] x20: ffff000005400000 x19: 0000000000001000 x18: 0000000000000000
[ 222.699227] x17: 0000000000000000 x16: 0000000000000000 x15: 0000ffffa4b73f28
[ 222.699234] x14: 0000000000000000 x13: ffff80000875f3ac x12: ffff800008025714
[ 222.699241] x11: ffff800008085888 x10: ffff8000080855f4 x9 : ffff800008753188
[ 222.699247] x8 : 000000000000000f x7 : 0080000100000009 x6 : ffff0000054001a8
[ 222.699253] x5 : ffff000005401000 x4 : 0000000000000008 x3 : ffffffffffffff80
[ 222.699260] x2 : 0000000000000df8 x1 : 0000ffffa4b74100 x0 : ffff000005400000
[ 222.699270] Kernel panic - not syncing: Asynchronous SError Interrupt
[ 222.699274] CPU: 2 PID: 159 Comm: perf Not tainted 6.2.0 #451
[ 222.699279] Hardware name: SEI Robotics SEI510 (DT)
[ 222.699284] Call trace:
[ 222.699286] dump_backtrace.part.0+0xe0/0xf0
[ 222.699298] show_stack+0x18/0x30
[ 222.699303] dump_stack_lvl+0x68/0x84
[ 222.699314] dump_stack+0x18/0x34
[ 222.699319] panic+0x184/0x344
[ 222.699327] nmi_panic+0xac/0xb0
[ 222.699334] arm64_serror_panic+0x6c/0x80
[ 222.699339] do_serror+0x58/0x60
[ 222.699343] el1h_64_error_handler+0x30/0x50
[ 222.699347] el1h_64_error+0x64/0x68
[ 222.699351] __arch_copy_from_user+0x1c8/0x230
[ 222.699357] generic_perform_write+0xe8/0x1e0
[ 222.699366] __generic_file_write_iter+0x11c/0x1b0
[ 222.699374] generic_file_write_iter+0x78/0x110
[ 222.699380] vfs_write+0x2b0/0x390
[ 222.699388] ksys_write+0x68/0x100
[ 222.699394] __arm64_sys_write+0x1c/0x30
[ 222.699400] invoke_syscall+0x48/0x120
[ 222.699408] el0_svc_common.constprop.0+0x44/0xf0
[ 222.699414] do_el0_svc+0x38/0xc0
[ 222.699420] el0_svc+0x2c/0x90
[ 222.699425] el0t_64_sync_handler+0xb8/0xc0
[ 222.699430] el0t_64_sync+0x190/0x194
[ 222.699437] SMP: stopping secondary CPUs
[ 222.699444] Kernel Offset: disabled
[ 222.699445] CPU features: 0x00000,01000100,0000420b
[ 222.699449] Memory Limit: none
Has anyone ever experienced something similar?
More information about the linux-arm-kernel
mailing list