[PATCH 00/14] Enable lock annotations on most libraries and drivers
David Marchand
david.marchand at redhat.com
Fri Feb 24 09:16:28 CET 2023
This is a followup of the series that introduced lock annotations.
I reworked and made annotations work in what seemed the easier cases.
In most cases, I chose to convert inline wrappers around the EAL lock
API to simple macro: I did not see much value in those wrappers and this
is way simpler than adding __rte_*lock_function tags everywhere.
A list of libraries and drivers still need more work as their code have
non obvious locks handling. For those components, the check is opted
out.
I leave it to their respective maintainers to enable the checks later.
Maintainers, please review.
--
David Marchand
David Marchand (14):
malloc: rework heap lock handling
mem: rework malloc heap init
mem: annotate shared memory config locks
hash: annotate cuckoo hash lock
graph: annotate graph lock
drivers: inherit lock annotations for Intel drivers
net/cxgbe: inherit lock annotations
net/fm10k: annotate mailbox lock
net/sfc: rework locking in proxy code
net/sfc: inherit lock annotations
net/virtio: annotate lock for guest announce
raw/ifpga: inherit lock annotations
vdpa/sfc: inherit lock annotations
enable lock check
.../prog_guide/env_abstraction_layer.rst | 5 +-
drivers/bus/dpaa/meson.build | 1 +
drivers/common/cnxk/meson.build | 1 +
drivers/common/iavf/iavf_osdep.h | 39 +++--------
drivers/common/iavf/iavf_prototype.h | 6 --
drivers/common/idpf/base/idpf_osdep.h | 26 ++------
drivers/common/mlx5/meson.build | 1 +
drivers/event/cnxk/meson.build | 1 +
drivers/meson.build | 2 +-
drivers/net/bnx2x/meson.build | 1 +
drivers/net/bnxt/meson.build | 1 +
drivers/net/cnxk/meson.build | 1 +
drivers/net/cxgbe/base/adapter.h | 35 ++--------
drivers/net/enic/meson.build | 1 +
drivers/net/fm10k/fm10k_ethdev.c | 2 +
drivers/net/hns3/meson.build | 1 +
drivers/net/i40e/base/i40e_osdep.h | 8 +--
drivers/net/i40e/base/i40e_prototype.h | 5 --
drivers/net/i40e/i40e_ethdev.c | 24 -------
drivers/net/ice/base/ice_osdep.h | 26 ++------
drivers/net/mlx5/meson.build | 1 +
drivers/net/sfc/sfc.h | 41 ++----------
drivers/net/sfc/sfc_ev.c | 6 +-
drivers/net/sfc/sfc_repr.c | 38 ++---------
drivers/net/sfc/sfc_repr_proxy.c | 59 +++++++++--------
drivers/net/virtio/virtio_ethdev.c | 8 +--
drivers/net/virtio/virtio_ethdev.h | 7 +-
drivers/raw/ifpga/afu_pmd_core.c | 17 +----
drivers/vdpa/sfc/sfc_vdpa.h | 41 ++----------
drivers/vdpa/sfc/sfc_vdpa_ops.c | 14 ++--
lib/eal/common/eal_common_mcfg.c | 66 +++++++++++--------
lib/eal/common/eal_common_memory.c | 10 +--
lib/eal/common/malloc_heap.c | 55 +++++++++++-----
lib/eal/common/malloc_heap.h | 3 +
lib/eal/common/rte_malloc.c | 10 ---
lib/eal/freebsd/eal.c | 13 ++++
lib/eal/include/rte_eal_memconfig.h | 63 ++++++++++++++----
lib/eal/linux/eal.c | 13 ++++
lib/eal/version.map | 4 ++
lib/eal/windows/eal.c | 13 ++++
lib/graph/graph.c | 10 ++-
lib/graph/graph_private.h | 10 ++-
lib/hash/rte_cuckoo_hash.c | 8 +++
lib/ipsec/meson.build | 1 +
lib/meson.build | 2 +-
lib/timer/meson.build | 1 +
lib/vhost/meson.build | 1 -
47 files changed, 313 insertions(+), 389 deletions(-)
--
2.39.2
More information about the dev
mailing list