For x86 platform, the rq cqe without cache aligned, which can improve performace for some gateway scenario. Fixes: 361a9ccf81d6 ("net/hinic: optimize Rx performance") Cc: stable@dpdk.org Signed-off-by: Xiaoyun wang <cloud.wangxiaoyun@huawei.com> --- drivers/net/hinic/hinic_pmd_rx.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/hinic/hinic_pmd_rx.h b/drivers/net/hinic/hinic_pmd_rx.h index 49fa565..8a45f2d 100644 --- a/drivers/net/hinic/hinic_pmd_rx.h +++ b/drivers/net/hinic/hinic_pmd_rx.h @@ -35,7 +35,11 @@ struct hinic_rq_cqe { u32 rss_hash; u32 rsvd[4]; +#if defined(RTE_ARCH_ARM64) } __rte_cache_aligned; +#else +}; +#endif struct hinic_rq_cqe_sect { struct hinic_sge sge; -- 1.8.3.1
Replace gettimeofday() with clock_gettime(CLOCK_MONOTONIC_RAW, &now), the reason is same with this patch "make alarm not affected by system time jump". Fixes: 81d53291a466 ("net/hinic/base: add various headers") Cc: stable@dpdk.org Signed-off-by: Xiaoyun wang <cloud.wangxiaoyun@huawei.com> --- drivers/net/hinic/base/hinic_compat.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/net/hinic/base/hinic_compat.h b/drivers/net/hinic/base/hinic_compat.h index 2d21b7b..7036b03 100644 --- a/drivers/net/hinic/base/hinic_compat.h +++ b/drivers/net/hinic/base/hinic_compat.h @@ -166,16 +166,17 @@ static inline u32 readl(const volatile void *addr) #define spin_lock(spinlock_prt) rte_spinlock_lock(spinlock_prt) #define spin_unlock(spinlock_prt) rte_spinlock_unlock(spinlock_prt) -static inline unsigned long get_timeofday_ms(void) +static inline unsigned long clock_gettime_ms(void) { - struct timeval tv; + struct timespec tv; - (void)gettimeofday(&tv, NULL); + (void)clock_gettime(CLOCK_MONOTONIC, &tv); - return (unsigned long)tv.tv_sec * 1000 + tv.tv_usec / 1000; + return (unsigned long)tv.tv_sec * 1000 + + (unsigned long)tv.tv_nsec / 1000000; } -#define jiffies get_timeofday_ms() +#define jiffies clock_gettime_ms() #define msecs_to_jiffies(ms) (ms) #define time_before(now, end) ((now) < (end)) -- 1.8.3.1
For x86 platform, the rq cqe without cache aligned, which can improve performace for some gateway scenarios. Fixes: 361a9ccf81d6 ("net/hinic: optimize Rx performance") Cc: stable@dpdk.org Signed-off-by: Xiaoyun wang <cloud.wangxiaoyun@huawei.com> --- drivers/net/hinic/hinic_pmd_rx.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/hinic/hinic_pmd_rx.h b/drivers/net/hinic/hinic_pmd_rx.h index 49fa565..8a45f2d 100644 --- a/drivers/net/hinic/hinic_pmd_rx.h +++ b/drivers/net/hinic/hinic_pmd_rx.h @@ -35,7 +35,11 @@ struct hinic_rq_cqe { u32 rss_hash; u32 rsvd[4]; +#if defined(RTE_ARCH_ARM64) } __rte_cache_aligned; +#else +}; +#endif struct hinic_rq_cqe_sect { struct hinic_sge sge; -- 1.8.3.1