[ovs-dev] [RFC PATCH v3 1/8] netdev-dpdk: simplify mbuf sizing

santosh santosh.shukla at caviumnetworks.com
Tue Jun 12 03:56:38 UTC 2018


On Wednesday 22 November 2017 06:54 PM, Kavanagh, Mark B wrote:
> + Santosh
>
>> From: ovs-dev-bounces at openvswitch.org [mailto:ovs-dev-bounces at openvswitch.org]
>> On Behalf Of Mark Kavanagh
>> Sent: Tuesday, November 21, 2017 6:29 PM
>> To: dev at openvswitch.org; qiudayu at chinac.com
>> Subject: [ovs-dev] [RFC PATCH v3 1/8] netdev-dpdk: simplify mbuf sizing
>>
>> When calculating the mbuf data_room_size (i.e. the size of actual
>> packet data that an mbuf can accomodate), it is possible to simply
>> use the value calculated by dpdk_buf_size() as a parameter to
>> rte_pktmbuf_pool_create(). This simplifies mbuf sizing considerably.
>> This patch removes the related size conversions and macros, which
>> are no longer needed.
>>
>> The benefits of this approach are threefold:
>> - the mbuf sizing code is much simpler, and more readable.
>> - mbuf size will always be cache-aligned [1], satisfying that
>>  requirement of specific PMDs (vNIC thunderx, for example).
>> - the maximum amount of data that each mbuf contains may now be
>>  calculated as mbuf->buf_len - mbuf->data_off. This is important
>>  in the case of multi-segment jumbo frames.
>>
>> [1] (this is true since mbuf size is now always a multiple
>>     of 1024, + 128B RTE_PKTMBUF_HEADROOM + 704B dp_packet).
> Santosh, I've just spotted that the cacheline size for thunderx is defined as 128B, as opposed to 64.
> 	
> 	==> config/defconfig_arm64-thunderx-linuxapp-gcc:36:CONFIG_RTE_CACHE_LINE_SIZE=128
>
> Apologies for the oversight - I'd be very interested to hear your thoughts on this patch.
>
> Thanks in advance,
> Mark
>
Sorry for late reply.
I'm reviewing changeset now and Will share my feedback on series:
[PATCH v8 01/13] netdev-dpdk: fix mbuf sizing.

Thanks.



More information about the dev mailing list