patch 'eal/x86: add AMD vendor check for TSC calibration' has been queued to stable release 23.11.1

Tummala, Sivaprasad Sivaprasad.Tummala at amd.com
Tue Mar 5 12:17:57 CET 2024


[AMD Official Use Only - General]

Hi Xueming,

LGTM!

> -----Original Message-----
> From: Xueming Li <xuemingl at nvidia.com>
> Sent: Tuesday, March 5, 2024 3:16 PM
> To: Tummala, Sivaprasad <Sivaprasad.Tummala at amd.com>
> Cc: Yigit, Ferruh <Ferruh.Yigit at amd.com>; dpdk stable <stable at dpdk.org>
> Subject: patch 'eal/x86: add AMD vendor check for TSC calibration' has been
> queued to stable release 23.11.1
>
> Caution: This message originated from an External Source. Use proper caution
> when opening attachments, clicking links, or responding.
>
>
> Hi,
>
> FYI, your patch has been queued to stable release 23.11.1
>
> Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
> It will be pushed if I get no objections before 03/31/24. So please shout if anyone
> has objections.
>
> Also note that after the patch there's a diff of the upstream commit vs the patch
> applied to the branch. This will indicate if there was any rebasing needed to apply
> to the stable branch. If there were code changes for rebasing
> (ie: not only metadata diffs), please double check that the rebase was correctly
> done.
>
> Queued patches are on a temporary branch at:
> https://git.dpdk.org/dpdk-stable/log/?h=23.11-staging
>
> This queued commit can be viewed at:
> https://git.dpdk.org/dpdk-stable/commit/?h=23.11-
> staging&id=5f30c47cc54f320a4f7bffdd06abcbe6cc2bc7d0
>
> Thanks.
>
> Xueming Li <xuemingl at nvidia.com>
>
> ---
> From 5f30c47cc54f320a4f7bffdd06abcbe6cc2bc7d0 Mon Sep 17 00:00:00 2001
> From: Sivaprasad Tummala <sivaprasad.tummala at amd.com>
> Date: Wed, 22 Nov 2023 23:27:30 -0800
> Subject: [PATCH] eal/x86: add AMD vendor check for TSC calibration
> Cc: Xueming Li <xuemingl at nvidia.com>
>
> [ upstream commit 31d72ff4dc7c057366153e9918ac92bf9123a3bc ]
>
> AMD Epyc processors doesn't support get_tsc_freq_arch().
> The patch allows graceful return to allow fallback to alternate TSC calibration.
>
> Fixes: 3dbc565e81a0 ("timer: honor arch-specific TSC frequency query")
>
> Signed-off-by: Sivaprasad Tummala <sivaprasad.tummala at amd.com>
> Acked-by: Ferruh Yigit <ferruh.yigit at amd.com>
> ---
>  lib/eal/x86/rte_cycles.c | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
>
> diff --git a/lib/eal/x86/rte_cycles.c b/lib/eal/x86/rte_cycles.c index
> 69ed59b4f0..f147a5231d 100644
> --- a/lib/eal/x86/rte_cycles.c
> +++ b/lib/eal/x86/rte_cycles.c
> @@ -10,6 +10,10 @@
>  #include <cpuid.h>
>  #endif
>
> +#define x86_vendor_amd(t1, t2, t3)        \
> +       ((t1 == 0x68747541) && /* htuA */   \
> +        (t2 == 0x444d4163) && /* DMAc */   \
> +        (t3 == 0x69746e65))   /* itne */
>
>  #include "eal_private.h"
>
> @@ -110,6 +114,18 @@ get_tsc_freq_arch(void)
>         uint8_t mult, model;
>         int32_t ret;
>
> +#ifdef RTE_TOOLCHAIN_MSVC
> +       __cpuid(cpuinfo, 0);
> +       a = cpuinfo[0];
> +       b = cpuinfo[1];
> +       c = cpuinfo[2];
> +       d = cpuinfo[3];
> +#else
> +       __cpuid(0, a, b, c, d);
> +#endif
> +       if (x86_vendor_amd(b, c, d))
> +               return 0;
> +
>         /*
>          * Time Stamp Counter and Nominal Core Crystal Clock
>          * Information Leaf
> --
> 2.34.1
>
> ---
>   Diff of the applied patch vs upstream commit (please double-check if non-empty:
> ---
> --- -   2024-03-05 17:39:31.808571927 +0800
> +++ 0024-eal-x86-add-AMD-vendor-check-for-TSC-calibration.patch
> +++ 2024-03-05 17:39:30.703566491 +0800
> @@ -1 +1 @@
> -From 31d72ff4dc7c057366153e9918ac92bf9123a3bc Mon Sep 17 00:00:00 2001
> +From 5f30c47cc54f320a4f7bffdd06abcbe6cc2bc7d0 Mon Sep 17 00:00:00 2001
> @@ -4,0 +5,3 @@
> +Cc: Xueming Li <xuemingl at nvidia.com>
> +
> +[ upstream commit 31d72ff4dc7c057366153e9918ac92bf9123a3bc ]
> @@ -11 +13,0 @@
> -Cc: stable at dpdk.org


More information about the stable mailing list