From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wg0-f41.google.com (mail-wg0-f41.google.com [74.125.82.41]) by dpdk.org (Postfix) with ESMTP id EB0A337A4 for ; Thu, 26 Mar 2015 17:00:01 +0100 (CET) Received: by wgs2 with SMTP id 2so69639326wgs.1 for ; Thu, 26 Mar 2015 09:00:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=XDIUO5N2MvIXD1U5UtqKM1I2LBzOmAynJU/ZlRcxtek=; b=gFfPSg0KgxYJ+2jzlWYgK++bRYUfDyPTZzszRs8vDO8B88Xs5XelZsbFMXCAFloLM+ y3uaxv80BPh/77BlA0PcWmVDaaF1xRoUdyscZyvqj2S79g+2SWIP1XJTmblFry11DzL1 q6IUdNr+XRjtuGYnj9j2+yaQzb0L8VffLAYOYwGC1Rn7MV2jCUwzZhNLDzFvJ3AKTXZx cr7aCUUAW26Wv68yB/Ue/z1jYzjqleizpGDxeL9+9sooPzWEmF+cUrnRJQyZth5Hj4a9 MrjThGSGudgWv5hdd74bilZN/7jkUOQZu/Rp/xRjcsNQGzdRDn1yfCDM1kyxTPX3QdUf jQvA== X-Gm-Message-State: ALoCoQknaODJbY18fd+sEZQjf1Dlpp3dQag5sutkk9EqnE2X6snEn5p2l7gpu66k8npXZwWukmRO X-Received: by 10.180.107.198 with SMTP id he6mr15803115wib.68.1427385601690; Thu, 26 Mar 2015 09:00:01 -0700 (PDT) Received: from glumotte.dev.6wind.com (6wind.net2.nerim.net. [213.41.180.237]) by mx.google.com with ESMTPSA id i3sm2797619wiy.23.2015.03.26.09.00.01 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 26 Mar 2015 09:00:01 -0700 (PDT) From: Olivier Matz To: dev@dpdk.org Date: Thu, 26 Mar 2015 16:59:50 +0100 Message-Id: <1427385595-15011-1-git-send-email-olivier.matz@6wind.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1427302838-8285-1-git-send-email-olivier.matz@6wind.com> References: <1427302838-8285-1-git-send-email-olivier.matz@6wind.com> Cc: zoltan.kiss@linaro.org Subject: [dpdk-dev] [PATCH v2 0/5] mbuf: enhancements of mbuf clones X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Mar 2015 16:00:02 -0000 This series fixes the support of indirect mbufs when the application reserves a private area in mbufs. This is done adding a new field in each mbuf storing the size of this private area. Another option would have been to store that in the mbuf pool private info, but as we have enough room in mbuf, it's faster to have it in the mbuf. The series also removes the limitation that rte_pktmbuf_clone() is only allowed on direct (non-cloned) mbufs. Changes in v2: - do not change the use of MBUF_EXT_MEM() in vhost - change rte_mbuf_from_baddr() to rte_mbuf_from_indirect(), removing one parameter - fix and rework rte_pktmbuf_detach() - move m->priv_size in second mbuf cache line - fix mbuf free in test error case Olivier Matz (5): mbuf: fix clone support when application uses private mbuf data mbuf: allow to clone an indirect mbuf test/mbuf: rename mc variable in m test/mbuf: enhance mbuf refcnt test test/mbuf: verify that cloning a clone works properly app/test-pmd/testpmd.c | 1 + app/test/test_mbuf.c | 88 ++++++++++++++++++++++++++++++++++++++------- examples/vhost/main.c | 2 +- lib/librte_mbuf/rte_mbuf.c | 1 + lib/librte_mbuf/rte_mbuf.h | 90 ++++++++++++++++++++++++++++++---------------- 5 files changed, 138 insertions(+), 44 deletions(-) -- 2.1.4