[dpdk-dev] [PATCH 01/13] mbuf: replace data pointer by an offset

Olivier MATZ olivier.matz at 6wind.com
Mon Sep 8 11:55:42 CEST 2014


>> diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
>> index 32e8474..669e7f5 100644
>> --- a/lib/librte_mbuf/rte_mbuf.h
>> +++ b/lib/librte_mbuf/rte_mbuf.h
>> @@ -119,6 +119,13 @@ struct rte_mbuf {
>>  	void *buf_addr;           /**< Virtual address of segment buffer. */
>>  	phys_addr_t buf_physaddr; /**< Physical address of segment buffer. */
>>  	uint16_t buf_len;         /**< Length of segment buffer. */
>> +
>> +	/* valid for any segment */
>> +	struct rte_mbuf *next;    /**< Next segment of scattered packet. */
>> +	uint16_t data_off;
>> +	uint16_t data_len;        /**< Amount of data in segment buffer. */
>> +	uint32_t pkt_len;         /**< Total pkt len: sum of all segments. */
>> +
> 
> Here, the compiler will add some padding between "buf_len" and "next"
> (6 bytes in 64bits, 2 in 32bits). Shouldn't we add "reserved" fields
> or at least a comment ? Another idea would be to reorganize the fields
> to avoid padding, if possible.

I've just seen that patch 02/13 reorders the mbuf fields. So maybe this
remarq is useless.


Olivier


More information about the dev mailing list