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 8F8FF46003 for ; Mon, 6 Jan 2025 21:34:48 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4BA2E40687; Mon, 6 Jan 2025 21:34:47 +0100 (CET) Received: from mail-oa1-f52.google.com (mail-oa1-f52.google.com [209.85.160.52]) by mails.dpdk.org (Postfix) with ESMTP id 0C2F64066E for ; Mon, 6 Jan 2025 21:34:46 +0100 (CET) Received: by mail-oa1-f52.google.com with SMTP id 586e51a60fabf-29ff8053384so6714763fac.3 for ; Mon, 06 Jan 2025 12:34:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736195685; x=1736800485; darn=dpdk.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=MmHylXJsT9iRsSro4JnkrcBPLNd61Wgr4q34pqSHT5s=; b=CM8SKUZTyMPePc9ISiyk0b8JvqHAkATe+xsnqZGH1IsPUJLdVLy0B+W0eN4TuDCM3L MxfhxSK+Y73QSoi6Ph8osN50MzyfXMcdv2KpdJmeH3X121mLbOeDkHez0ictX5NmFuw4 S9l6uZCqgOBBqd2TPONmOrA1qnR/HAYUiHZYl2QpsJfYoMnIoUoG/g2kU4JwxXe6b2LQ x4z/EKX/mI39KYJ1Hy56JqqYaB6TCKyKuChBJOYFfKcFAlUUuQh5HjHPGEMYVTfZTIN1 3D4b6TzvBRji0q+YX1Rwh+Gq9M1+CFcpSA53LtafixmmdBVSzcUhoFiGbP8ZQd+BQU7N ovcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736195685; x=1736800485; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=MmHylXJsT9iRsSro4JnkrcBPLNd61Wgr4q34pqSHT5s=; b=roJu6JUiCjObKOjz+MTOKqQ3cdA4E9uq7wlbfekPEeh9gfazd8yQbfX44BFmlQyV3Y 5Wj9px7EpkjX3dwLQWoZe9/8+ZIo7JdUc2g63KZMdjgaGLjXC/ozOR4aUZLjMwiPQCtH VJts8R1ia7v9F2/RC7X8hOuvl9zta0rQE23ek4JNOjoHX6AlZGV8B+Sf51To7L0lCDtM hUhVZavPYrVhQsQSylNDhuNNsJtTquZVvFz1cheaIft67ei6MnpdLAv7iX+46hcdVsqX /cbqlbOfS5/Dt6SMxd+MQrMeqkGuvv9Va5fQr02x+MKV2IPsXvRxDIfD25njfc3666/H VwGA== X-Gm-Message-State: AOJu0YwR37xRVkIv3bb94VIX/B110+kzpJZ/GJhrMeFJQjdN8PfbN8/n WG3R+GCAUEaZffp645yHSdOq4Zf9sF6TxexCgz1y0yn/osYtMPHLP3NGyU9Cwsb8b6JqCP1n9Mz lH0BebcIMUrgjc5+iuaN0dLVztlY= X-Gm-Gg: ASbGncvtimv6+DYjshT0s/nrQDncEzGNeMlky3HcV0tLF8b4AmMuiIWCGIUThTaI6y8 EB4UNEZ9YwcDIqzKhy+vWE4I3iqBTmNS4OiOT X-Google-Smtp-Source: AGHT+IHf+0wARSu0BX4u8lEU87QUU+IMbb6ZyFhhx+ski9IfN4YlV23IlbwCUlHNiM6pLya3o2DqItbZp6XdP/u7Cog= X-Received: by 2002:a05:6870:ff47:b0:29e:29e1:db1d with SMTP id 586e51a60fabf-2a7faf914f2mr30778795fac.3.1736195685088; Mon, 06 Jan 2025 12:34:45 -0800 (PST) MIME-Version: 1.0 References: <20250104214032.04eb6d25@sovereign> <20250105010148.1ef26333@sovereign> <20250106231038.59a6fc4e@sovereign> In-Reply-To: <20250106231038.59a6fc4e@sovereign> From: Alan Beadle Date: Mon, 6 Jan 2025 15:34:34 -0500 Message-ID: Subject: Re: Multiprocess App Problems with tx_burst To: Dmitry Kozlyuk Cc: users@dpdk.org Content-Type: text/plain; charset="UTF-8" X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org > I suspect that mbufs in use are put into mempool somehow. > Which functions do you use to free mbufs to the pool > on processing paths that do not end with `rte_eth_tx_burst()`? > You can build DPDK with `-Dc_args='-DRTE_LIBRTE_MBUF_DEBUG'` > to enable debug checks in the library. I am using rte_pktmbuf_free(). My understanding is that it decrements the refcount, and unless it really reaches 0, will not free it back to the mempool. This is the only function that I ever use to decrement the refcount of any mbuf, or to free them. I think I might have found an error in my library's heap allocator which can result in duplicate references to copies of the same data header, which are supposed to be different headers. This could explain some of my problems if the above usage is correct. I will continue investigating this possibility. One thing gives me doubt. My code includes frequent checks of all refcounts, so if it was accessing something with a refcount of 0 then it should detect that, and so far it has not. I'll also try those debug checks. If they can detect a double free, that would be helpful evidence. Thank you, -Alan