All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/14] Enable lock annotations on most libraries and drivers
@ 2023-02-24  8:16 David Marchand
  2023-02-24  8:16 ` [PATCH 01/14] malloc: rework heap lock handling David Marchand
                   ` (15 more replies)
  0 siblings, 16 replies; 76+ messages in thread
From: David Marchand @ 2023-02-24  8:16 UTC (permalink / raw)
  To: dev; +Cc: thomas

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


^ permalink raw reply	[flat|nested] 76+ messages in thread

end of thread, other threads:[~2023-04-23 20:09 UTC | newest]

Thread overview: 76+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-24  8:16 [PATCH 00/14] Enable lock annotations on most libraries and drivers David Marchand
2023-02-24  8:16 ` [PATCH 01/14] malloc: rework heap lock handling David Marchand
2023-02-24  8:16 ` [PATCH 02/14] mem: rework malloc heap init David Marchand
2023-02-24  8:16 ` [PATCH 03/14] mem: annotate shared memory config locks David Marchand
2023-02-24  8:16 ` [PATCH 04/14] hash: annotate cuckoo hash lock David Marchand
2023-02-24  8:16 ` [PATCH 05/14] graph: annotate graph lock David Marchand
2023-02-24  8:16 ` [PATCH 06/14] drivers: inherit lock annotations for Intel drivers David Marchand
2023-02-24  8:16 ` [PATCH 07/14] net/cxgbe: inherit lock annotations David Marchand
2023-02-24  8:16 ` [PATCH 08/14] net/fm10k: annotate mailbox lock David Marchand
2023-02-24  8:16 ` [PATCH 09/14] net/sfc: rework locking in proxy code David Marchand
2023-02-24  8:16 ` [PATCH 10/14] net/sfc: inherit lock annotations David Marchand
2023-02-24  8:16 ` [PATCH 11/14] net/virtio: annotate lock for guest announce David Marchand
2023-02-24  8:16 ` [PATCH 12/14] raw/ifpga: inherit lock annotations David Marchand
2023-02-24  8:16 ` [PATCH 13/14] vdpa/sfc: " David Marchand
2023-02-24  8:16 ` [PATCH 14/14] enable lock check David Marchand
2023-02-24 15:11 ` [PATCH v2 00/20] Enable lock annotations on most libraries and drivers David Marchand
2023-02-24 15:11   ` [PATCH v2 01/20] malloc: rework heap lock handling David Marchand
2023-02-24 15:11   ` [PATCH v2 02/20] mem: rework malloc heap init David Marchand
2023-02-24 15:11   ` [PATCH v2 03/20] mem: annotate shared memory config locks David Marchand
2023-02-24 15:11   ` [PATCH v2 04/20] hash: annotate cuckoo hash lock David Marchand
2023-02-24 15:11   ` [PATCH v2 05/20] graph: annotate graph lock David Marchand
2023-02-24 15:11   ` [PATCH v2 06/20] drivers: inherit lock annotations for Intel drivers David Marchand
2023-02-24 15:11   ` [PATCH v2 07/20] net/cxgbe: inherit lock annotations David Marchand
2023-02-24 15:11   ` [PATCH v2 08/20] net/fm10k: annotate mailbox lock David Marchand
2023-02-24 15:11   ` [PATCH v2 09/20] net/sfc: rework locking in proxy code David Marchand
2023-02-24 15:11   ` [PATCH v2 10/20] net/sfc: inherit lock annotations David Marchand
2023-02-24 15:11   ` [PATCH v2 11/20] net/virtio: annotate lock for guest announce David Marchand
2023-02-27  2:05     ` Xia, Chenbo
2023-02-27  8:24       ` David Marchand
2023-02-27 16:28         ` Maxime Coquelin
2023-02-28  2:45           ` Xia, Chenbo
2023-03-02  9:26           ` David Marchand
2023-03-02  9:28             ` Maxime Coquelin
2023-03-02 12:35               ` David Marchand
2023-02-24 15:11   ` [PATCH v2 12/20] raw/ifpga: inherit lock annotations David Marchand
2023-02-27  6:29     ` Xu, Rosen
2023-02-27  7:15       ` Huang, Wei
2023-02-24 15:11   ` [PATCH v2 13/20] vdpa/sfc: " David Marchand
2023-02-24 15:11   ` [PATCH v2 14/20] ipc: annotate pthread mutex David Marchand
2023-02-24 15:11   ` [PATCH v2 15/20] ethdev: " David Marchand
2023-02-24 15:11   ` [PATCH v2 16/20] net/failsafe: fix mutex locking David Marchand
2023-02-24 15:35     ` Gaëtan Rivet
2023-02-24 15:11   ` [PATCH v2 17/20] net/failsafe: annotate pthread mutex David Marchand
2023-02-24 15:11   ` [PATCH v2 18/20] net/hinic: " David Marchand
2023-02-24 15:11   ` [PATCH v2 19/20] eal/windows: disable lock check on alarm code David Marchand
2023-02-24 15:11   ` [PATCH v2 20/20] enable lock check David Marchand
2023-02-27  2:32     ` Xia, Chenbo
2023-02-24 15:58   ` [PATCH v2 00/20] Enable lock annotations on most libraries and drivers Gaëtan Rivet
2023-02-25 10:16     ` David Marchand
2023-02-27 16:12       ` Gaëtan Rivet
2023-03-02  8:52         ` David Marchand
2023-04-03 10:52           ` David Marchand
2023-04-03 15:03             ` Tyler Retzlaff
2023-04-03 15:36             ` Tyler Retzlaff
2023-04-04  7:45               ` David Marchand
2023-04-04 12:48 ` [PATCH v3 00/16] " David Marchand
2023-04-04 12:48   ` [PATCH v3 01/16] malloc: rework heap destroy David Marchand
2023-04-04 12:48   ` [PATCH v3 02/16] mem: rework malloc heap init David Marchand
2023-04-04 12:48   ` [PATCH v3 03/16] mem: annotate shared memory config locks David Marchand
2023-04-04 12:48   ` [PATCH v3 04/16] hash: annotate cuckoo hash lock David Marchand
2023-04-04 12:48   ` [PATCH v3 05/16] graph: annotate graph lock David Marchand
2023-04-04 12:48   ` [PATCH v3 06/16] drivers: inherit lock annotations for Intel drivers David Marchand
2023-04-04 12:48   ` [PATCH v3 07/16] net/cxgbe: inherit lock annotations David Marchand
2023-04-04 12:48   ` [PATCH v3 08/16] net/fm10k: annotate mailbox lock David Marchand
2023-04-04 12:48   ` [PATCH v3 09/16] net/sfc: rework locking in proxy code David Marchand
2023-04-04 12:48   ` [PATCH v3 10/16] net/sfc: inherit lock annotations David Marchand
2023-04-04 12:48   ` [PATCH v3 11/16] net/virtio: rework guest announce notify helper David Marchand
2023-04-04 12:48   ` [PATCH v3 12/16] raw/ifpga: inherit lock annotations David Marchand
2023-04-04 12:48   ` [PATCH v3 13/16] vdpa/sfc: " David Marchand
2023-04-04 12:48   ` [PATCH v3 14/16] net/failsafe: fix mutex locking David Marchand
2023-04-04 12:48   ` [PATCH v3 15/16] eal/windows: disable lock check on alarm code David Marchand
2023-04-04 16:08     ` Tyler Retzlaff
2023-04-04 21:02     ` Dmitry Kozlyuk
2023-04-04 12:48   ` [PATCH v3 16/16] enable lock check David Marchand
2023-04-11  3:21     ` Sachin Saxena (OSS)
2023-04-23 20:09   ` [PATCH v3 00/16] Enable lock annotations on most libraries and drivers Thomas Monjalon

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.