mbox series

[0/4] Enhance CPU flag support

Message ID 20190529154132.49955-1-bruce.richardson@intel.com (mailing list archive)
Headers show
Series Enhance CPU flag support | expand

Message

Bruce Richardson May 29, 2019, 3:41 p.m. UTC
Currently in DPDK, any checks for the presence or absense of specific
CPU flags has to be enclosed in #ifdef blocks, since the flags are
conditionally defined per architecture as enums. This set attempts to
improve this situation by allowing the flags to be queried as strings,
with a CPU architecture type also specified. One new public API is
provided for this. [Other APIs used by that are internal for now, but
have an rte_ prefix in case we want to expose them publically later]

To test out this new functionality the crc code in the net library is
updated to use this, demonstrating how the code can be simplified and
the use of #ifdef's reduced.

Bruce Richardson (4):
  build: fix quoting on RTE_ARCH string value
  config/arm: fix missing define for arm platforms
  eal: allow checking CPU flags by name
  net: replace ifdefs with runtime branches

 config/arm/meson.build                        |  2 +
 config/ppc_64/meson.build                     |  2 +-
 config/x86/meson.build                        |  4 +-
 lib/librte_eal/common/eal_common_cpuflags.c   | 41 +++++++++++++++++
 .../common/include/generic/rte_cpuflags.h     | 44 ++++++++++++++++++-
 lib/librte_eal/rte_eal_version.map            |  3 ++
 lib/librte_net/rte_net_crc.c                  | 38 ++++++++++------
 7 files changed, 117 insertions(+), 17 deletions(-)

Comments

Ananyev, Konstantin June 27, 2019, 12:39 p.m. UTC | #1
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Bruce Richardson
> Sent: Wednesday, May 29, 2019 4:41 PM
> To: dev@dpdk.org
> Cc: Richardson, Bruce <bruce.richardson@intel.com>
> Subject: [dpdk-dev] [PATCH 0/4] Enhance CPU flag support
> 
> Currently in DPDK, any checks for the presence or absense of specific
> CPU flags has to be enclosed in #ifdef blocks, since the flags are
> conditionally defined per architecture as enums. This set attempts to
> improve this situation by allowing the flags to be queried as strings,
> with a CPU architecture type also specified. One new public API is
> provided for this. [Other APIs used by that are internal for now, but
> have an rte_ prefix in case we want to expose them publically later]
> 
> To test out this new functionality the crc code in the net library is
> updated to use this, demonstrating how the code can be simplified and
> the use of #ifdef's reduced.
> 
> Bruce Richardson (4):
>   build: fix quoting on RTE_ARCH string value
>   config/arm: fix missing define for arm platforms
>   eal: allow checking CPU flags by name
>   net: replace ifdefs with runtime branches
> 
>  config/arm/meson.build                        |  2 +
>  config/ppc_64/meson.build                     |  2 +-
>  config/x86/meson.build                        |  4 +-
>  lib/librte_eal/common/eal_common_cpuflags.c   | 41 +++++++++++++++++
>  .../common/include/generic/rte_cpuflags.h     | 44 ++++++++++++++++++-
>  lib/librte_eal/rte_eal_version.map            |  3 ++
>  lib/librte_net/rte_net_crc.c                  | 38 ++++++++++------
>  7 files changed, 117 insertions(+), 17 deletions(-)
> 
> --

Series Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>

> 2.21.0