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

Tummala, Sivaprasad Sivaprasad.Tummala at amd.com
Thu Mar 7 10:44:46 CET 2024


[AMD Official Use Only - General]

Hi Luca,

LGTM!

Thanks & Regards,
Sivaprasad

> -----Original Message-----
> From: luca.boccassi at gmail.com <luca.boccassi at gmail.com>
> Sent: Thursday, March 7, 2024 7:01 AM
> 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 22.11.5
>
> 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 22.11.5
>
> 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/09/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://github.com/bluca/dpdk-stable
>
> This queued commit can be viewed at:
> https://github.com/bluca/dpdk-
> stable/commit/3c9e08f6d3f60301e5c3dad1ff4ee1731b000dda
>
> Thanks.
>
> Luca Boccassi
>
> ---
> From 3c9e08f6d3f60301e5c3dad1ff4ee1731b000dda 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
>
> [ 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
> 0e695caf28..2a601d7035 100644
> --- a/lib/eal/x86/rte_cycles.c
> +++ b/lib/eal/x86/rte_cycles.c
> @@ -6,6 +6,10 @@
>  #include <unistd.h>
>  #include <cpuid.h>
>
> +#define x86_vendor_amd(t1, t2, t3)        \
> +       ((t1 == 0x68747541) && /* htuA */   \
> +        (t2 == 0x444d4163) && /* DMAc */   \
> +        (t3 == 0x69746e65))   /* itne */
>
>  #include "eal_private.h"
>
> @@ -90,6 +94,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.39.2
>
> ---
>   Diff of the applied patch vs upstream commit (please double-check if non-empty:
> ---
> --- -   2024-03-07 01:05:36.676799989 +0000
> +++ 0019-eal-x86-add-AMD-vendor-check-for-TSC-calibration.patch
> +++ 2024-03-07 01:05:34.694937810 +0000
> @@ -1 +1 @@
> -From 31d72ff4dc7c057366153e9918ac92bf9123a3bc Mon Sep 17 00:00:00 2001
> +From 3c9e08f6d3f60301e5c3dad1ff4ee1731b000dda Mon Sep 17 00:00:00 2001
> @@ -5,0 +6,2 @@
> +[ upstream commit 31d72ff4dc7c057366153e9918ac92bf9123a3bc ]
> +
> @@ -11 +12,0 @@
> -Cc: stable at dpdk.org
> @@ -20 +21 @@
> -index 69ed59b4f0..f147a5231d 100644
> +index 0e695caf28..2a601d7035 100644
> @@ -23 +24,2 @@
> -@@ -10,6 +10,10 @@
> +@@ -6,6 +6,10 @@
> + #include <unistd.h>
> @@ -25 +26,0 @@
> - #endif
> @@ -34 +35 @@
> -@@ -110,6 +114,18 @@ get_tsc_freq_arch(void)
> +@@ -90,6 +94,18 @@ get_tsc_freq_arch(void)


More information about the stable mailing list