[PATCH v2] dmadev: fix structure alignment
fengchengwen
fengchengwen at huawei.com
Fri Mar 15 07:06:07 CET 2024
Hi Wenwu,
On 2024/3/15 9:43, Wenwu Ma wrote:
> The structure rte_dma_dev needs only 8 byte alignment.
> This patch replaces __rte_cache_aligned of rte_dma_dev
> with __rte_aligned(8).
>
> Fixes: b36970f2e13e ("dmadev: introduce DMA device library")
> Cc: stable at dpdk.org
>
> Signed-off-by: Wenwu Ma <wenwux.ma at intel.com>
> ---
> v2:
> - Because of performance drop, adjust the code to
> no longer demand cache line alignment
Which two versions observed performance drop? And which benchmark observed drop?
Could you provide more information?
>
> ---
> lib/dmadev/rte_dmadev_pmd.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/dmadev/rte_dmadev_pmd.h b/lib/dmadev/rte_dmadev_pmd.h
> index 58729088ff..b569bb3502 100644
> --- a/lib/dmadev/rte_dmadev_pmd.h
> +++ b/lib/dmadev/rte_dmadev_pmd.h
> @@ -122,7 +122,7 @@ enum rte_dma_dev_state {
> * @internal
> * The generic data structure associated with each DMA device.
> */
> -struct __rte_cache_aligned rte_dma_dev {
> +struct __rte_aligned(8) rte_dma_dev {
The DMA fast-path was implemented by struct rte_dma_fp_objs, which is not
rte_dma_dev? So why is it a problem here?
Thanks
> /** Device info which supplied during device initialization. */
> struct rte_device *device;
> struct rte_dma_dev_data *data; /**< Pointer to shared device data. */
>
More information about the stable
mailing list