From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wi0-f179.google.com (mail-wi0-f179.google.com [209.85.212.179]) by dpdk.org (Postfix) with ESMTP id 4C7AD6A94 for ; Tue, 31 Mar 2015 21:23:28 +0200 (CEST) Received: by wibgn9 with SMTP id gn9so38799856wib.1 for ; Tue, 31 Mar 2015 12:23:27 -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=M9LUZQlBbhQj27cByQ/cyoAtW+ziOmoLbZdglnpcjso=; b=ktBgSm+GbAaKnFG0xBUHV+xDHf/JhWgLW4+2bcbpX8xhTDQvTDXIOmygmpWEjix83y 74bzMD9OETbt1ETXLgAW/QEc6OGZZquOG1NbH4JEP+lyw9dYPUE3uTDidRpj8jEo/4UN 4Ah7PYH+gbPI5mZ3gjEOnKpneZDR57j+asew45cQnL0OJld0zSd3QmY5gMq7NGoEtQt/ zpP1sq1dd2/i37QXujRdDvdsO30hJjnG5jauB01djzRKf0Wezwd3I9B98fPqvDnKfZLd ilmLh2oXiaVpsPgtUzLzYnam+sJf07OuiEYk9LYkJ7kV2PT58BVX1JIbcdpC8+2vQwy3 1Kig== X-Gm-Message-State: ALoCoQlKtTZO+0GCDkjPsYZ80oW2Lk1MyzXdtrZK+PYjTQKoN3Y/eKNeIC09nhtiysBI0hAO4rID X-Received: by 10.180.107.5 with SMTP id gy5mr8404953wib.0.1427829807924; Tue, 31 Mar 2015 12:23:27 -0700 (PDT) Received: from localhost.localdomain ([185.65.185.242]) by mx.google.com with ESMTPSA id g2sm25966892wib.1.2015.03.31.12.23.26 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 31 Mar 2015 12:23:27 -0700 (PDT) From: Olivier Matz X-Google-Original-From: Olivier Matz To: dev@dpdk.org Date: Tue, 31 Mar 2015 21:22:59 +0200 Message-Id: <1427829784-12323-1-git-send-email-zer0@droids-corp.org> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1427385595-15011-1-git-send-email-olivier.matz@6wind.com> References: <1427385595-15011-1-git-send-email-olivier.matz@6wind.com> Subject: [dpdk-dev] [PATCH v3 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: Tue, 31 Mar 2015 19:23:28 -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 v3: - a mbuf can now attach to another one that have a different private size. In this case, the m->priv_size corresponds to the size of the private area of the direct mbuf. - add comments to reflect these changes - minor style modifications 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 | 4 +- lib/librte_mbuf/rte_mbuf.c | 1 + lib/librte_mbuf/rte_mbuf.h | 123 +++++++++++++++++++++++++++++++-------------- 5 files changed, 164 insertions(+), 53 deletions(-) -- 2.1.4