From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 92C43A00E6 for ; Thu, 21 Mar 2019 09:48:19 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7DDC51B3EE; Thu, 21 Mar 2019 09:48:18 +0100 (CET) Received: from smtpproxy19.qq.com (smtpproxy19.qq.com [184.105.206.84]) by dpdk.org (Postfix) with ESMTP id D4CFC1B3EE for ; Thu, 21 Mar 2019 09:48:16 +0100 (CET) X-QQ-mid: bizesmtp21t1553158090tk8j9vzc Received: from DESKTOPDQ7VDGF (unknown [202.106.72.206]) by esmtp6.qq.com (ESMTP) with id ; Thu, 21 Mar 2019 16:48:10 +0800 (CST) X-QQ-SSF: 00400000002000B0D220B00A0000000 X-QQ-FEAT: SlfLJ4Us6anHlpKrnN8fSbKfSizs1WxA4/AEst+/dyUZo+AJ4+KbYZrZTx2gi GUyMg5Ngd4/aJb4csaRb6291uOW4XXwODYGUF8npIoz0iQNwUcYWGOEGCBED6ENe4aM7jwy BHWIpPNoDyej6Oxf1fL08SP+I3ukwNsgf8Wf7eNv3fvorZuy+6ah2ojVlu8zWkpjf9gCtLU 0+ZT6YeDPcC+uX2kRL+kzXllEdGGyyjtXH0DvaYhICXZXnvpL/d8MMQTTS1B3ooSD4k8Dsa 9ui7BvGxQdViUOjEwzawLLayT3yi6a9UHsNAwxIv6VkJT7Ga7uLXdKCVg= X-QQ-GoodBg: 2 From: =?gb2312?B?y8693Q==?= To: , "'Van Haaren, Harry'" Date: Thu, 21 Mar 2019 16:48:08 +0800 Message-ID: <000901d4dfc2$cee23e10$6ca6ba30$@zctt.com>+A89D211CCA5A0E85 MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AdTfwHCfG9gpIg8tRVq9F9ky2aP4xw== Content-Language: zh-cn X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:zctt.com:qybgforeign:qybgforeign1 X-QQ-Bgrelay: 1 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: [dpdk-users] How to free a rte_mempool buffer X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org Sender: "users" Hi All, =20 I test my DPDK program in VM Ubuntu (in VMware) with the two virtual NICs(VMXNET3 and e1000). =20 I create a rte_mempool buffer by rte_pktmbuf_pool_create, and load some packets from a pcap file into this buffer. I can sending these packets = by rte_eth_tx_burst successfully. =20 Now I want to load another pcap file, then I free the previous = rte_mempool buffer by rte_mempool_free, and create a new rte_mempool buffer, But a crash will be occurred at rte_eth_tx_burst Both in VMXNET3 and = e1000. =20 I traced the code and found the crash point as below:=20 The VMXNET3 driver: crash at: vmxnet3_xmit_pkts->vmxnet3_tq_tx_complete->vmxnet3_unmap_pkt->rte_pktmbuf= _fr ee(mbuf); (mbuf =3D txq->cmd_ring.buf_info[eop_idx].m;) =20 The e1000 driver: crash at: eth_em_xmit_pkts->rte_pktmbuf_free_seg(txe->mbuf);=20 =20 =20 I think rte_mempool_free side effects the driver=A1=AFs TX ring, but = don=A1=AFt know how to fix this issue? =20 How can we free a rte_mempool buffer safely? =20 =20 Thanks =20 Jie =20