From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.droids-corp.org (zoll.droids-corp.org [94.23.50.67]) by dpdk.org (Postfix) with ESMTP id 12E362B88 for ; Mon, 3 Oct 2016 18:12:00 +0200 (CEST) Received: from lfbn-1-5996-232.w90-110.abo.wanadoo.fr ([90.110.195.232] helo=[192.168.1.13]) by mail.droids-corp.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1br5tU-0006ik-2a; Mon, 03 Oct 2016 18:15:08 +0200 To: Maxime Coquelin , dev@dpdk.org References: <1475151633-6785-1-git-send-email-maxime.coquelin@redhat.com> Cc: stephen@networkplumber.org, mst@redhat.com, yuanhan.liu@linux.intel.com From: Olivier Matz Message-ID: <8b1847c7-e1a7-7477-8937-1e49c3ec0a8f@6wind.com> Date: Mon, 3 Oct 2016 18:11:53 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.2.0 MIME-Version: 1.0 In-Reply-To: <1475151633-6785-1-git-send-email-maxime.coquelin@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH 1/2] mbuf: add rte_pktmbuff_reset_headroom function 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: Mon, 03 Oct 2016 16:12:00 -0000 Hi Maxime, On 09/29/2016 02:20 PM, Maxime Coquelin wrote: > Some application use rte_mbuf_raw_alloc() function to improve > performance by not resetting mbuf's fields to their default state. > > This can be however problematic for mbuf consumers that need some > headroom, meaning that data_off field gets decremented after > allocation. When the mbuf is re-used afterwards, there might not > be enough room for the consumer to prepend anything, if the data_off > field is not reset to its default value. > > This patch adds a new rte_pktmbuf_reset_headroom() function that > applications can call to reset the data_off field. > This patch also replaces current data_off affectations in the mbuf > lib with a call to this function. > > Signed-off-by: Maxime Coquelin Sounds like a good idea. Just one small comment below. > > /** > + * Reset the data_off field of a packet mbuf to its default value. > + * > + * The given mbuf must have only one segment. > + * > + * @param m > + * The packet mbuf's data_off field has to be reset. > + */ > +static inline void rte_pktmbuf_reset_headroom(struct rte_mbuf *m) > +{ > + m->data_off = RTE_MIN(RTE_PKTMBUF_HEADROOM, (uint16_t)m->buf_len); > +} Maybe we should also highlight in the API comment that the segment should be empty. Thanks, Olivier