[dpdk-dev] [PATCH v1 00/14] refactor and cleanup of rte_ring
Bruce Richardson
bruce.richardson at intel.com
Thu Feb 23 18:23:53 CET 2017
NOTE: this set depends on the v2 cleanup set sent previously.
http://dpdk.org/ml/archives/dev/2017-February/thread.html#58200
This patchset make a set of, sometimes non-backward compatible, cleanup
changes to the rte_ring code in order to improve it. The resulting code is
shorter, since the existing functions are restructured to reduce code
duplication, as well as being more consistent in behaviour. The specific
changes made are explained in each patch which makes that change.
This patchset is largely the same as that posted previously on-list as
an RFC:
http://dpdk.org/ml/archives/dev/2017-February/thread.html#56982
Changes in V1 from RFC:
* Included release notes updates as changes are made in each patch
* Fixed some missed comment updates when changing the code
* Separated some initial fixup patches from this set to send separately
* Dropped the final two patches for an rte_event_ring, as not relevant
for this set. That can be done as a separate set later.
* The macros for copying the pointers have an extra parameter added,
indicating the start of the ring buffer itself. This allows more
flexibility for reusing them in other ring implementations.
Bruce Richardson (14):
ring: remove split cacheline build setting
ring: create common structure for prod and cons metadata
ring: eliminate duplication of size and mask fields
ring: remove debug setting
ring: remove the yield when waiting for tail update
ring: remove watermark support
ring: make bulk and burst fn return vals consistent
ring: allow enqueue fns to return free space value
ring: allow dequeue fns to return remaining entry count
examples/quota_watermark: use ring space for watermarks
ring: reduce scope of local variables
ring: separate out head index manipulation for enq/deq
ring: create common function for updating tail idx
ring: make rte_ring struct and enq/deq macros type agnostic
app/pdump/main.c | 2 +-
app/test-pipeline/pipeline_hash.c | 5 +-
app/test-pipeline/runtime.c | 19 +-
app/test/commands.c | 52 --
app/test/test_link_bonding_mode4.c | 6 +-
app/test/test_pmd_ring_perf.c | 12 +-
app/test/test_ring.c | 704 +++----------------
app/test/test_ring_perf.c | 36 +-
app/test/test_table_acl.c | 2 +-
app/test/test_table_pipeline.c | 2 +-
app/test/test_table_ports.c | 12 +-
app/test/virtual_pmd.c | 8 +-
config/common_base | 3 -
doc/guides/prog_guide/env_abstraction_layer.rst | 5 -
doc/guides/prog_guide/ring_lib.rst | 7 -
doc/guides/rel_notes/release_17_05.rst | 32 +
doc/guides/sample_app_ug/server_node_efd.rst | 2 +-
drivers/crypto/null/null_crypto_pmd.c | 2 +-
drivers/net/bonding/rte_eth_bond_pmd.c | 3 +-
drivers/net/ring/rte_eth_ring.c | 4 +-
examples/distributor/main.c | 5 +-
examples/load_balancer/runtime.c | 34 +-
.../client_server_mp/mp_client/client.c | 9 +-
.../client_server_mp/mp_server/main.c | 2 +-
examples/packet_ordering/main.c | 13 +-
examples/qos_sched/app_thread.c | 14 +-
examples/quota_watermark/qw/init.c | 5 +-
examples/quota_watermark/qw/main.c | 21 +-
examples/quota_watermark/qw/main.h | 1 +
examples/quota_watermark/qwctl/commands.c | 4 +-
examples/quota_watermark/qwctl/qwctl.c | 2 +
examples/quota_watermark/qwctl/qwctl.h | 1 +
examples/server_node_efd/node/node.c | 2 +-
examples/server_node_efd/server/main.c | 2 +-
lib/librte_hash/rte_cuckoo_hash.c | 5 +-
lib/librte_mempool/rte_mempool_ring.c | 12 +-
lib/librte_pdump/rte_pdump.c | 2 +-
lib/librte_port/rte_port_frag.c | 3 +-
lib/librte_port/rte_port_ras.c | 2 +-
lib/librte_port/rte_port_ring.c | 34 +-
lib/librte_ring/rte_ring.c | 76 +--
lib/librte_ring/rte_ring.h | 754 ++++++++-------------
42 files changed, 547 insertions(+), 1374 deletions(-)
--
2.9.3
More information about the dev
mailing list