[dpdk-dev] [PATCH] i40e: enable i40e pmd on ARM platform

Jianbo Liu jianbo.liu at linaro.org
Wed Aug 3 11:33:03 CEST 2016


Hi Thomas,

On 3 August 2016 at 15:58, Thomas Monjalon <thomas.monjalon at 6wind.com> wrote:
> 2016-08-03 14:02, Jianbo Liu:
>> I think we can place a compiling condition before rte_rmb() to avoid
>> performance decrease on x86.
>> For example:  #if defined(RTE_ARCH_ARM) || defined(RTE_ARCH_ARM64)
>
> Please could you explain why a memory barrier would be needed on ARM but

The reason is that ARM is weealy ordered processor, and data access
will be executed out of order to improve performance.
In this case, we have to read 2 times, 8 descriptors each. The read
statuses could be wrong if no memory barrier.
I also got the outdated status for some descriptors in my testing.

> not on x86? What about other architectures?

I think Konstantin gave me a good solution, by using rte_smp_rmb :)

Jianbo


More information about the dev mailing list