From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 92820A00C2; Wed, 30 Nov 2022 08:21:49 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 862BA40395; Wed, 30 Nov 2022 08:21:49 +0100 (CET) Received: from inbox.dpdk.org (inbox.dpdk.org [95.142.172.178]) by mails.dpdk.org (Postfix) with ESMTP id 8E0824014F for ; Wed, 30 Nov 2022 08:21:48 +0100 (CET) Received: by inbox.dpdk.org (Postfix, from userid 33) id 86DDEA00C3; Wed, 30 Nov 2022 08:21:48 +0100 (CET) From: bugzilla@dpdk.org To: dev@dpdk.org Subject: [Bug 1135] [DPDK-22.11][asan]vhost_event_idx_interrupt/wake_up_split_ring_vhost_user_cores_with_event_idx_interrupt_mode_16_queues the backend feedback EAL Error when relunch the dpdk-l3fwd Date: Wed, 30 Nov 2022 07:21:48 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: DPDK X-Bugzilla-Component: examples X-Bugzilla-Version: 22.11 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: dukaix.yuan@intel.com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: Normal X-Bugzilla-Assigned-To: dev@dpdk.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status bug_severity priority component assigned_to reporter target_milestone Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.dpdk.org/ Auto-Submitted: auto-generated X-Auto-Response-Suppress: All MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org https://bugs.dpdk.org/show_bug.cgi?id=3D1135 Bug ID: 1135 Summary: [DPDK-22.11][asan]vhost_event_idx_interrupt/wake_up_sp lit_ring_vhost_user_cores_with_event_idx_interrupt_mod e_16_queues the backend feedback EAL Error when relunch the dpdk-l3fwd Product: DPDK Version: 22.11 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: Normal Component: examples Assignee: dev@dpdk.org Reporter: dukaix.yuan@intel.com Target Milestone: --- [Environment] DPDK version: Use make showversion or for a non-released version: git remot= e -v && git show-ref --heads DPDK 22.11 Other software versions: QEMU 7.1.0 OS: Ubuntu 22.04.1 LTS/5.15.45-051545-generic Compiler: gcc -11.3.0 Hardware platform: Intel(R) Xeon(R) Platinum 8280M CPU @ 2.70GHz NIC hardware: Ethernet Controller XL710 for 40GbE QSFP+ 1583 NIC firmware: 9.00 0x8000c8d4 1.3179.0 NIC driver: 2.20.12 i40e=20 [Test Setup] Steps to reproduce List the steps to reproduce the issue. 1.Start back-end with dpdk-l3fwd: x86_64-native-linuxapp-gcc/examples/dpdk-l3fwd-power -l 1 -n 4 \ --file-prefix=3Ddpdk_2497935_20221129174620 --no-pci --log-level=3D9 \ --vdev 'net_vhost0,iface=3D/root/dpdk/vhost-net0,queues=3D1,client=3D1' \ -- -p 0x1 --parse-ptype 1 --config '(0,0,1)' --interrupt-only=20 2.Start the front-end with QEMU: taskset -c 20,21,22,23,24,25,26,27 /home/QEMU/qemu-7.1.0/bin/qemu-system-x8= 6_64 \ -name vm0 -enable-kvm -pidfile /tmp/.vm0.pid -daemonize -monitor \ unix:/tmp/vm0_monitor.sock,server,nowait \ -netdev user,id=3Dnttsip1,hostfwd=3Dtcp:10.239.252.220:6000-:22 \ -device e1000,netdev=3Dnttsip1 -cpu host -smp 8 -m 16384 \ -object memory-backend-file,id=3Dmem,size=3D16384M,mem-path=3D/mnt/huge,sha= re=3Don \ -numa node,memdev=3Dmem -mem-prealloc \ -chardev socket,path=3D/tmp/vm0_qga0.sock,server,nowait,id=3Dvm0_qga0 \ -device virtio-serial \ -device virtserialport,chardev=3Dvm0_qga0,name=3Dorg.qemu.guest_agent.0 \ -vnc :4 -drive file=3D/home/image/ubuntu2004.img \ -chardev socket,id=3Dchar0,path=3D/root/dpdk/vhost-net0,server \ -netdev type=3Dvhost-user,id=3Dnetdev0,chardev=3Dchar0,vhostforce \ -device virtio-net-pci,netdev=3Dnetdev0,mac=3D00:11:22:33:44:50,csum=3Don 3.Quit and relunch the backend. x86_64-native-linuxapp-gcc/examples/dpdk-l3fwd-power -l 1 -n 4 \ --file-prefix=3Ddpdk_2497935_20221129174620 --no-pci --log-level=3D9 \ --vdev 'net_vhost0,iface=3D/root/dpdk/vhost-net0,queues=3D1,client=3D1' \ -- -p 0x1 --parse-ptype 1 --config '(0,0,1)' --interrupt-only=20 [Show the output from the previous commands.] EAL: Error=20 op 1 fd -1 epoll_ctl, Bad file descriptor p 0 q 10 Rx ctl error op 1 epfd -1 vec 11 L3FWD_POWER: RX interrupt won't enable. EAL: Error=20 op 1 fd -1 epoll_ctl, Bad file descriptor p 0 q 6 Rx ctl error op 1 epfd -1 vec 7 L3FWD_POWER: RX interrupt won't enable. L3FWD_POWER: entering main interrupt loop on lcore 13 L3FWD_POWER: -- lcoreid=3D13 portid=3D0 rxqueueid=3D12 L3FWD_POWER: entering main interrupt loop on lcore 16 L3FWD_POWER: -- lcoreid=3D16 portid=3D0 rxqueueid=3D15 EAL: Error op 1 fd -1 epoll_ctl, Bad file descriptor p 0 q 14 Rx ctl error op 1 epfd -1 vec 15 L3FWD_POWER: RX interrupt won't enable. L3FWD_POWER: lcore 2 is waked up from rx interrupt on port 0 queue 1 L3FWD_POWER: -- lcoreid=3D3 portid=3D0 rxqueueid=3D2 EAL: Error op 1 fd -1 epoll_ctl, Bad file descriptor p 0 q 9 Rx ctl error op 1 epfd -1 vec 10 L3FWD_POWER: RX interrupt won't enable. EAL: Error op 1 fd -1 epoll_ctl, Bad file descriptor p 0 q 12 Rx ctl error op 1 epfd -1 vec 13 L3FWD_POWER: RX interrupt won't enable. L3FWD_POWER: entering main interrupt loop on lcore 6 L3FWD_POWER: -- lcoreid=3D6 portid=3D0 rxqueueid=3D5 L3FWD_POWER: lcore 2 sleeps until interrupt triggers L3FWD_POWER: entering main interrupt loop on lcore 14 L3FWD_POWER: -- lcoreid=3D14 portid=3D0 rxqueueid=3D13 L3FWD_POWER: entering main interrupt loop on lcore 1 L3FWD_POWER: -- lcoreid=3D1 portid=3D0 rxqueueid=3D0 EAL: Error op 1 fd -1 epoll_ctl, Bad file descriptor p 0 q 4 Rx ctl error op 1 epfd -1 vec 5 L3FWD_POWER: RX interrupt won't enable. EAL: Error op 1 fd -1 epoll_ctl, Bad file descriptor p 0 q 2 Rx ctl error op 1 epfd -1 vec 3 L3FWD_POWER: RX interrupt won't enable. EAL: Error op 1 fd -1 epoll_ctl, Bad file descriptor p 0 q 15 Rx ctl error op 1 epfd -1 vec 16 L3FWD_POWER: RX interrupt won't enable. EAL: Error op 1 fd -1 epoll_ctl, Bad file descriptor p 0 q 11 Rx ctl error op 1 epfd -1 vec 12 L3FWD_POWER: RX interrupt won't enable. L3FWD_POWER: entering main interrupt loop on lcore 8 L3FWD_POWER: -- lcoreid=3D8 portid=3D0 rxqueueid=3D7 VHOST_CONFIG: (/root/dpdk/vhost-net0) read message VHOST_USER_SET_VRING_KICK VHOST_CONFIG: (/root/dpdk/vhost-net0) vring kick idx:4 file:136 L3FWD_POWER: entering main interrupt loop on lcore 9 L3FWD_POWER: -- lcoreid=3D9 portid=3D0 rxqueueid=3D8 EAL: Error op 1 fd -1 epoll_ctl, Bad file descriptor p 0 q 7 Rx ctl error op 1 epfd -1 vec 8 L3FWD_POWER: RX interrupt won't enable. VHOST_CONFIG: (/root/dpdk/vhost-net0) read message VHOST_USER_SET_VRING_CALL VHOST_CONFIG: (/root/dpdk/vhost-net0) vring call idx:4 file:138 L3FWD_POWER: lcore 1 is waked up from rx interrupt on port 0 queue 0 EAL: Error op 1 fd -1 epoll_ctl, Bad file descriptor L3FWD_POWER: lcore 1 sleeps until interrupt triggers EAL: Error op 1 fd -1 epoll_ctl, Bad file descriptor p 0 q 8 Rx ctl error op 1 epfd -1 vec 9 L3FWD_POWER: RX interrupt won't enable. L3FWD_POWER: entering main interrupt loop on lcore 4 L3FWD_POWER: -- lcoreid=3D4 portid=3D0 rxqueueid=3D3 p 0 q 5 Rx ctl error op 1 epfd -1 vec 6 VHOST_CONFIG: (/root/dpdk/vhost-net0) read message VHOST_USER_SET_VRING_NUM EAL: Error op 1 fd -1 epoll_ctl, Bad file descriptor p 0 q 3 Rx ctl error op 1 epfd -1 vec 4 L3FWD_POWER: RX interrupt won't enable. EAL: Error op 1 fd -1 epoll_ctl, Bad file descriptor p 0 q 13 Rx ctl error op 1 epfd -1 vec 14 L3FWD_POWER: RX interrupt won't enable. L3FWD_POWER: RX interrupt won't enable. [Expected Result] Explain what is the expected result in text or as an example output: There is no error information.=20 [Regression] Is this issue a regression: Y Version the regression was introduced: Specify git id if known. Bad commit: commit 1c9a7fba5c90e0422b517404499ed106f647bcff (HEAD, refs/bisect/bad) Author: Mattias R=C3=B6nnblom Date: Mon Jul 11 14:11:32 2022 +0200 net: accept unaligned data in checksum routines __rte_raw_cksum() (used by rte_raw_cksum() among others) accessed its data through an uint16_t pointer, which allowed the compiler to assume the data was 16-bit aligned. This in turn would, with certain architectures and compiler flag combinations, result in code with SIMD load or store instructions with restrictions on data alignment. This patch keeps the old algorithm, but data is read using memcpy() instead of direct pointer access, forcing the compiler to always generate code that handles unaligned input. The _may_alias_ GCC attribute is no longer needed. The data on which the Internet checksum functions operates are almost always 16-bit aligned, but there are exceptions. In particular, the PDCP protocol header may (literally) have an odd size. Performance impact seems to range from none to a very slight regression. Bugzilla ID: 1035 Fixes: 6006818cfb26 ("net: new checksum functions") Cc: stable@dpdk.org Signed-off-by: Mattias R=C3=B6nnblom Acked-by: Olivier Matz --=20 You are receiving this mail because: You are the assignee for the bug.=