使用AF_XDP收取指定UDP端口的报文,收取即丢弃,当接近满负载时内核崩溃
现场:
[root@kunpeng132 ~]# tail -80 /var/crash/127.0.0.1-2025-07-23-14:35:07/vmcore-dmesg.txt
[ 38.522899] hns3 0000:bd:00.2 enp189s0f2: link up
[ 40.064487] hns3 0000:7d:00.0 enp125s0f0: link up
[ 40.069484] hns3 0000:bd:00.1 enp189s0f1: link up
[ 40.078846] hns3 0000:bd:00.0 enp189s0f0: link up
[ 40.139358] hns3 0000:bd:00.3 enp189s0f3: link up
[ 40.386571] hns3 0000:7d:00.1 enp125s0f1: link up
[ 43.272627] FS-Cache: Loaded
[ 43.353186] Key type dns_resolver registered
[ 43.528670] NFS: Registering the id_resolver key type
[ 43.528957] Key type id_resolver registered
[ 43.529142] Key type id_legacy registered
[ 48.709115] block dm-0: the capability attribute has been deprecated.
[ 80.384525] usb 1-1.1: USB disconnect, device number 3
[ 82.261626] usb 1-1.1: new full-speed USB device number 4 using ehci-pci
[ 82.414529] usb 1-1.1: New USB device found, idVendor=12d1, idProduct=0003, bcdDevice= 1.00
[ 82.414553] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 82.414571] usb 1-1.1: Product: Keyboard/Mouse KVM 1.1.0
[ 82.427767] input: Keyboard/Mouse KVM 1.1.0 as /devices/pci0000:7a/0000:7a:01.0/usb1/1-1/1-1.1/1-1.1:1.0/0003:12D1:0003.0002/input/input2
[ 82.557674] hid-generic 0003:12D1:0003.0002: input,hidraw0: USB HID v1.10 Keyboard [Keyboard/Mouse KVM 1.1.0] on usb-0000:7a:01.0-1.1/input0
[ 82.564952] input: Keyboard/Mouse KVM 1.1.0 as /devices/pci0000:7a/0000:7a:01.0/usb1/1-1/1-1.1/1-1.1:1.1/0003:12D1:0003.0003/input/input3
[ 82.565897] hid-generic 0003:12D1:0003.0003: input,hidraw1: USB HID v1.10 Mouse [Keyboard/Mouse KVM 1.1.0] on usb-0000:7a:01.0-1.1/input1
[ 3335.769720] mlx5_core 0000:84:00.0: Using 48-bit DMA addresses
[ 3624.817576] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000034
[ 3624.817771] Mem abort info:
[ 3624.817838] ESR = 0x0000000096000006
[ 3624.817910] EC = 0x25: DABT (current EL), IL = 32 bits
[ 3624.817990] SET = 0, FnV = 0
[ 3624.818072] EA = 0, S1PTW = 0
[ 3624.818155] FSC = 0x06: level 2 translation fault
[ 3624.818245] Data abort info:
[ 3624.818337] ISV = 0, ISS = 0x00000006, ISS2 = 0x00000000
[ 3624.818437] CM = 0, WnR = 0, TnD = 0, TagAccess = 0
[ 3624.818544] GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
[ 3624.818659] user pgtable: 4k pages, 48-bit VAs, pgdp=0000202099b38000
[ 3624.818782] [0000000000000034] pgd=0800202093036403, p4d=0800202093036403, pud=0800202093035403, pmd=0000000000000000
[ 3624.819052] Internal error: Oops: 0000000096000006 [#1] SMP
[ 3624.819203] Modules linked in: rpcsec_gss_krb5 auth_rpcgss nfsv4 dns_resolver nfs lockd grace fscache netfs rfkill sunrpc vfat fat ipmi_ssif hibmc_drm acpi_ipmi drm_vram_helper hns_roce_hw_v2 ses drm_ttm_helper bnxt_re mlx5_ib ttm enclosure ipmi_si ipmi_devintf ib_uverbs hisi_uncore_hha_pmu hisi_uncore_ddrc_pmu hisi_uncore_l3c_pmu drm_display_helper sg hisi_uncore_pmu ipmi_msghandler arm_smmuv3_pmu ib_core drm_kms_helper fuse drm nfnetlink ext4 mbcache jbd2 sd_mod t10_pi crc64_rocksoft_generic crc64_rocksoft crc64 realtek hclge hisi_sas_v3_hw crct10dif_ce hisi_sas_main ghash_ce libsas sha2_ce ahci mlx5_core sha256_arm64 sha1_ce sbsa_gwdt libahci scsi_transport_sas bnxt_en libata hns3 mlxfw megaraid_sas hnae3 host_edma_drv i2c_designware_platform i2c_designware_core dm_mirror dm_region_hash dm_log dm_multipath dm_mod aes_ce_blk aes_ce_cipher
[ 3624.821550] CPU: 38 PID: 0 Comm: swapper/38 Kdump: loaded Not tainted 6.6.0-101.0.0.107.oe2403sp2.aarch64 #1
[ 3624.822063] Hardware name: Huawei TaiShan 200 (Model 2280)/BC82AMDGA, BIOS 1.36 05/04/2020
[ 3624.822572] pstate: 20400009 (nzCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=–)
[ 3624.823091] pc : mlx5e_xsk_free_rx_wqe.part.0.isra.0+0x1c/0xf0 [mlx5_core]
[ 3624.823751] lr : mlx5e_post_rx_wqes.part.0+0x2fc/0x338 [mlx5_core]
[ 3624.824117] sp : ffff800082fabcf0
[ 3624.824402] x29: ffff800082fabcf0 x28: 0000000000000000 x27: ffff2020957d6940
[ 3624.824973] x26: ffff2020957d76c0 x25: ffff202073c63000 x24: ffff2020957d3fd0
[ 3624.825558] x23: 00000000000005cc x22: 0000000000000200 x21: 0000000000000000
[ 3624.826157] x20: 00000000000003cc x19: ffff2020957d70c0 x18: ffffffffffffffff
[ 3624.826760] x17: ffffa036ddfe5000 x16: ffff800082fa8000 x15: ffffffffffffffff
[ 3624.827362] x14: ffff20200cd4d800 x13: ffff20200cd4d7d8 x12: 0000000005f5e100
[ 3624.827963] x11: 0000000000000000 x10: ffff8000d24a4000 x9 : ffff80007b322254
[ 3624.828563] x8 : ffff8000d315a000 x7 : ffff202014d8a410 x6 : 0000000000000000
[ 3624.829161] x5 : 0000000000000034 x4 : 0000000000000040 x3 : 0000000000000000
[ 3624.829757] x2 : 0000000000000000 x1 : ffff20200c0a8000 x0 : ffff20200bc89000
[ 3624.830351] Call trace:
[ 3624.830643] mlx5e_xsk_free_rx_wqe.part.0.isra.0+0x1c/0xf0 [mlx5_core]
[ 3624.831295] mlx5e_post_rx_wqes.part.0+0x2fc/0x338 [mlx5_core]
[ 3624.831665] mlx5e_post_rx_wqes+0x40/0x68 [mlx5_core]
[ 3624.832025] mlx5e_napi_poll+0x29c/0x750 [mlx5_core]
[ 3624.832382] __napi_poll+0x40/0x1d8
[ 3624.832662] napi_poll+0x158/0x198
[ 3624.832932] net_rx_action+0xe0/0x270
[ 3624.833198] handle_softirqs+0x128/0x330
[ 3624.833465] __do_softirq+0x1c/0x28
[ 3624.833723] ____do_softirq+0x18/0x30
[ 3624.833975] call_on_irq_stack+0x24/0x30
[ 3624.834223] do_softirq_own_stack+0x24/0x38
[ 3624.834465] irq_exit_rcu+0x108/0x130
[ 3624.834701] el1_interrupt+0x58/0x120
[ 3624.834932] el1h_64_irq_handler+0x24/0x30
[ 3624.835156] el1h_64_irq+0x78/0x80
[ 3624.835373] default_idle_call+0x74/0x150
[ 3624.835590] cpuidle_idle_call+0x18c/0x200
[ 3624.835797] do_idle+0xbc/0x188
[ 3624.835994] cpu_startup_entry+0x3c/0x50
[ 3624.836187] secondary_start_kernel+0x14c/0x1d8
[ 3624.836378] __secondary_switched+0xb8/0xc0
[ 3624.836565] Code: a9bc7bfd 910003fd a9025bf5 f9400015 (b94036a0)
[ 3624.836752] SMP: stopping secondary CPUs
[ 3624.839238] Starting crashdump kernel…
[ 3624.839433] Bye!
[root@kunpeng132 ~]#
网卡名称:Mellanox Technologies MT27710 Family [ConnectX-4 Lx]
网卡信息:
[root@kunpeng132 ~]# ethtool -i enp132s0f0np0
driver: mlx5_core
version: 6.6.0-101.0.0.107.oe2403sp2.aar
firmware-version: 14.20.1010 (HUA0020040036)
expansion-rom-version:
bus-info: 0000:84:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: yes
[root@kunpeng132 ~]#
[root@kunpeng132 ~]# modinfo mlx5_core
filename: /lib/modules/6.6.0-101.0.0.107.oe2403sp2.aarch64/kernel/drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.ko.xz
license: Dual BSD/GPL
description: Mellanox 5th generation network adapters (ConnectX series) core driver
author: Eli Cohen eli@mellanox.com
srcversion: 24DB92FBF356088A6774CFC
alias: auxiliary:mlx5_core.eth
alias: pci:v000015B3d0000A2DFsvsdbcsci*
alias: pci:v000015B3d0000A2DCsvsdbcsci*
alias: pci:v000015B3d0000A2D6svsdbcsci*
alias: pci:v000015B3d0000A2D3svsdbcsci*
alias: pci:v000015B3d0000A2D2svsdbcsci*
alias: pci:v000015B3d00001025svsdbcsci*
alias: pci:v000015B3d00001023svsdbcsci*
alias: pci:v000015B3d00001021svsdbcsci*
alias: pci:v000015B3d0000101Fsvsdbcsci*
alias: pci:v000015B3d0000101Esvsdbcsci*
alias: pci:v000015B3d0000101Dsvsdbcsci*
alias: pci:v000015B3d0000101Csvsdbcsci*
alias: pci:v000015B3d0000101Bsvsdbcsci*
alias: pci:v000015B3d0000101Asvsdbcsci*
alias: pci:v000015B3d00001019svsdbcsci*
alias: pci:v000015B3d00001018svsdbcsci*
alias: pci:v000015B3d00001017svsdbcsci*
alias: pci:v000015B3d00001016svsdbcsci*
alias: pci:v000015B3d00001015svsdbcsci*
alias: pci:v000015B3d00001014svsdbcsci*
alias: pci:v000015B3d00001013svsdbcsci*
alias: pci:v000015B3d00001012svsdbcsci*
alias: pci:v000015B3d00001011svsdbcsci*
alias: auxiliary:mlx5_core.eth-rep
depends: mlxfw
intree: Y
name: mlx5_core
vermagic: 6.6.0-101.0.0.107.oe2403sp2.aarch64 SMP mod_unload modversions aarch64
sig_id: PKCS#7
signer: openEuler kernel ICA 1
sig_key: C2:64:6F:AD:36:99:D1:DA:28:A3:2C:91:23:B8:B4:5D
sig_hashalgo: sha256
signature: 75:12:F1:78:FE:25:B7:12:2F:46:41:52:29:B9:D5:54:55:A1:79:E3:
A6:69:6899:C1:C3:C1:03:AC:B7:39:15:5E:0C:32:56:97:A4:E9:
2C:F7:3A:21:7A:43:30:78:30:8E:7A:76:18:F9:36:79:E7:CC:6A:F0:
18:A4:12:4A:35:53:E3:C5:57:14:93:BB:F0:93:10:71:A6:DF:4C:FC:
7C:B4:9D:41:51:52:23:22:64:77:65:59:E9:54:56:FE:1A:3D:CC:C4:
B4:A2:B4:80:AF:5A:5A:E5:FF:463C:2B:4A:C3:F8:BD:F9:EE:52:
55:3B:E5:F7:01:C4:E1:C7:F3:04:AD:8C:AA:50:FC:61:CB:FA:68:68:
C6:CC:3C:23:FA:2A:08:60:8D:4E:B1:7C:65:A9:C9:C5:6D:77:2F:2E:
05:A3:DB:3C:C7:34:1F:8F:B5:A5:F0:39:07:22:87:A6:72:8A:76:4A:
40:E9:D8:84:B1:D9:BB:81:0E:90:CB:C6:3E:23:87:69:78:A4:EE:E0:
3A:EF:24:E8:15:E8:C9:C0:06:AA:E0:33:5B:FC:A4:24:30:B257:
12:04:B1:95:74:04:C9:F0:A5:EC:2F:50:92:41:3C:76:5A:A8:30:B6:
0D:28:3E:A2:3F:5E:33:F723:49:A6:C0:BD:AC:80:60:FA:75:7D:
58:EB:AA:CE:93:B3:4E:04:FA:20:7F:36:96:87:4E:D2:E1:DB:9C:E8:
2E:1B:3D:AE:20:AC:9A:D7:57:B1:D6:C4:0B:8F:42:C9:28:5E:28
21:62:E7:5F:A3:B2:6A:CC:FA:1E:E2:C1EE:59:07:28:7D:A9:B7:
39:F3:4D:B3:80:2D:30:30:8A:79:BC:5F:1A:28:1D:57:42:F3:E8:0E:
A2:F7:5A:A2:60:4A:0F:5C:ED:82:13:79:4F:B8:89F9:A6:95:2A:
F8:C9:F6:B5:80:86:C2:94:28:C8:8A:B6:D7:F5:56:0F:7C:FE:10:0F:
4B:23:B7:5A:CB:88:C6:7A:F0:89:F5:79:45:6C:24:AE:9C:25:87:31:
A2:6E:8B:F6:87:BC:8D:3C:BE:2E:0F:7F:DA:07:5D:F9:2B:10:04:54:
58:65:94:9A:78:FF:B3:BF:EF:8E:4B:73:76:F4:7ABE:B1:F1:42:
D5:13:E3:6B:5814:DA:E3:64:8D:40:79:A6:C5:96:9E:3A:50
73:D8:C7:17:AA10:3D:3A:01:39:D7:69:9E:78:38:23:16:33:C0:
8B:FB:50:12:EA:59:DD:F6:A6:EF:FD:B4:47:79:F0:69:75:C3:84
29:85:E0:A6:6E:75:8A:1C:F5:28:EA:27
parm: debug_mask:debug mask: 1 = dump cmd data, 2 = dump cmd exec time, 3 = both. Default=0 (uint)
parm: prof_sel:profile selector. Valid range 0 - 2 (uint)
[root@kunpeng132 ~]#