Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 35 additions & 35 deletions ipm/patches/dpdk/22.11/0001-eal-add-lcore-busyness-telemetry.patch
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
From 82605211da6a3e7fc45ef254c1dc5da81c88f2e6 Mon Sep 17 00:00:00 2001
From: Kevin Laatz <kevin.laatz@intel.com>
Date: Wed, 22 Apr 2026 11:06:33 +0000
From 5129fb19501eecce2410efc58548951ffb02c226 Mon Sep 17 00:00:00 2001
From: Anatoly Burakov <anatoly.burakov@intel.com>
Date: Mon, 11 Nov 2024 09:25:29 +0000
Subject: [PATCH 1/3] eal: add lcore busyness telemetry

Currently, there is no way to measure lcore busyness in a passive way,
Expand Down Expand Up @@ -72,7 +72,7 @@ Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
create mode 100644 lib/eal/common/eal_common_lcore_telemetry.c

diff --git a/config/rte_config.h b/config/rte_config.h
index 7b8c85e..1193d93 100644
index 7b8c85e948..1193d936f6 100644
--- a/config/rte_config.h
+++ b/config/rte_config.h
@@ -38,6 +38,8 @@
Expand All @@ -85,7 +85,7 @@ index 7b8c85e..1193d93 100644
/* bsd module defines */
#define RTE_CONTIGMEM_MAX_NUM_BUFS 64
diff --git a/lib/bbdev/rte_bbdev.h b/lib/bbdev/rte_bbdev.h
index 52f6ed9..9f337ee 100644
index 52f6ed9b01..9f337ee4d1 100644
--- a/lib/bbdev/rte_bbdev.h
+++ b/lib/bbdev/rte_bbdev.h
@@ -29,6 +29,7 @@ extern "C" {
Expand Down Expand Up @@ -141,7 +141,7 @@ index 52f6ed9..9f337ee 100644

/**
diff --git a/lib/compressdev/rte_compressdev.c b/lib/compressdev/rte_compressdev.c
index cf2c20a..04a854a 100644
index cf2c20a704..04a854a935 100644
--- a/lib/compressdev/rte_compressdev.c
+++ b/lib/compressdev/rte_compressdev.c
@@ -587,6 +587,8 @@ rte_compressdev_dequeue_burst(uint8_t dev_id, uint16_t qp_id,
Expand All @@ -154,7 +154,7 @@ index cf2c20a..04a854a 100644
}

diff --git a/lib/cryptodev/rte_cryptodev.h b/lib/cryptodev/rte_cryptodev.h
index cef9f2b..82fc21d 100644
index cef9f2b3cb..82fc21d24d 100644
--- a/lib/cryptodev/rte_cryptodev.h
+++ b/lib/cryptodev/rte_cryptodev.h
@@ -1874,6 +1874,8 @@ rte_cryptodev_dequeue_burst(uint8_t dev_id, uint16_t qp_id,
Expand All @@ -167,7 +167,7 @@ index cef9f2b..82fc21d 100644
}

diff --git a/lib/distributor/rte_distributor.c b/lib/distributor/rte_distributor.c
index 3969b2e..6136547 100644
index 3969b2ea7e..6136547e9a 100644
--- a/lib/distributor/rte_distributor.c
+++ b/lib/distributor/rte_distributor.c
@@ -57,6 +57,8 @@ rte_distributor_request_pkt(struct rte_distributor *d,
Expand Down Expand Up @@ -217,7 +217,7 @@ index 3969b2e..6136547 100644
}

diff --git a/lib/distributor/rte_distributor_single.c b/lib/distributor/rte_distributor_single.c
index 2c77ac4..4c3bb1b 100644
index 2c77ac454a..4c3bb1b5c1 100644
--- a/lib/distributor/rte_distributor_single.c
+++ b/lib/distributor/rte_distributor_single.c
@@ -31,8 +31,13 @@ rte_distributor_request_pkt_single(struct rte_distributor_single *d,
Expand Down Expand Up @@ -250,18 +250,18 @@ index 2c77ac4..4c3bb1b 100644
}

diff --git a/lib/dmadev/rte_dmadev.h b/lib/dmadev/rte_dmadev.h
index 2360560..40fc8bc 100644
index e61d71959e..754e10b95d 100644
--- a/lib/dmadev/rte_dmadev.h
+++ b/lib/dmadev/rte_dmadev.h
@@ -150,6 +150,7 @@
@@ -149,6 +149,7 @@
#include <rte_bitops.h>
#include <rte_common.h>
#include <rte_compat.h>
+#include <rte_lcore.h>

#ifdef __cplusplus
extern "C" {
@@ -1032,7 +1033,7 @@ rte_dma_completed(int16_t dev_id, uint16_t vchan, const uint16_t nb_cpls,
@@ -1031,7 +1032,7 @@ rte_dma_completed(int16_t dev_id, uint16_t vchan, const uint16_t nb_cpls,
uint16_t *last_idx, bool *has_error)
{
struct rte_dma_fp_object *obj = &rte_dma_fp_objs[dev_id];
Expand All @@ -270,7 +270,7 @@ index 2360560..40fc8bc 100644
bool err;

#ifdef RTE_DMADEV_DEBUG
@@ -1056,8 +1057,10 @@ rte_dma_completed(int16_t dev_id, uint16_t vchan, const uint16_t nb_cpls,
@@ -1055,8 +1056,10 @@ rte_dma_completed(int16_t dev_id, uint16_t vchan, const uint16_t nb_cpls,
has_error = &err;

*has_error = false;
Expand All @@ -283,7 +283,7 @@ index 2360560..40fc8bc 100644
}

/**
@@ -1096,7 +1099,7 @@ rte_dma_completed_status(int16_t dev_id, uint16_t vchan,
@@ -1095,7 +1098,7 @@ rte_dma_completed_status(int16_t dev_id, uint16_t vchan,
enum rte_dma_status_code *status)
{
struct rte_dma_fp_object *obj = &rte_dma_fp_objs[dev_id];
Expand All @@ -292,7 +292,7 @@ index 2360560..40fc8bc 100644

#ifdef RTE_DMADEV_DEBUG
if (!rte_dma_is_valid(dev_id) || nb_cpls == 0 || status == NULL)
@@ -1108,8 +1111,10 @@ rte_dma_completed_status(int16_t dev_id, uint16_t vchan,
@@ -1107,8 +1110,10 @@ rte_dma_completed_status(int16_t dev_id, uint16_t vchan,
if (last_idx == NULL)
last_idx = &idx;

Expand All @@ -306,7 +306,7 @@ index 2360560..40fc8bc 100644
/**
diff --git a/lib/eal/common/eal_common_lcore_telemetry.c b/lib/eal/common/eal_common_lcore_telemetry.c
new file mode 100644
index 0000000..1478e5a
index 0000000000..1478e5a48a
--- /dev/null
+++ b/lib/eal/common/eal_common_lcore_telemetry.c
@@ -0,0 +1,319 @@
Expand Down Expand Up @@ -630,7 +630,7 @@ index 0000000..1478e5a
+
+#endif
diff --git a/lib/eal/common/meson.build b/lib/eal/common/meson.build
index 917758c..a743e66 100644
index 917758cc65..a743e66a7d 100644
--- a/lib/eal/common/meson.build
+++ b/lib/eal/common/meson.build
@@ -17,6 +17,7 @@ sources += files(
Expand All @@ -642,19 +642,19 @@ index 917758c..a743e66 100644
'eal_common_log.c',
'eal_common_mcfg.c',
diff --git a/lib/eal/freebsd/eal.c b/lib/eal/freebsd/eal.c
index 3da8dec..dc5fa8e 100644
index 122daf6c1f..a7be6ab285 100644
--- a/lib/eal/freebsd/eal.c
+++ b/lib/eal/freebsd/eal.c
@@ -911,6 +911,7 @@ rte_eal_cleanup(void)
rte_eal_alarm_cleanup();
@@ -906,6 +906,7 @@ rte_eal_cleanup(void)
eal_bus_cleanup();
rte_trace_save();
eal_trace_fini();
+ eal_lcore_telemetry_free();
rte_eal_alarm_cleanup();
/* after this point, any DPDK pointers will become dangling */
rte_eal_memory_detach();
eal_cleanup_config(internal_conf);
diff --git a/lib/eal/include/rte_lcore.h b/lib/eal/include/rte_lcore.h
index 6938c3f..9f4bd6e 100644
index 6938c3fd7b..9f4bd6e22f 100644
--- a/lib/eal/include/rte_lcore.h
+++ b/lib/eal/include/rte_lcore.h
@@ -418,6 +418,90 @@ rte_ctrl_thread_create(pthread_t *thread, const char *name,
Expand Down Expand Up @@ -749,19 +749,19 @@ index 6938c3f..9f4bd6e 100644
}
#endif
diff --git a/lib/eal/linux/eal.c b/lib/eal/linux/eal.c
index de30e52..7fa21f0 100644
index 336698379f..2bff37791e 100644
--- a/lib/eal/linux/eal.c
+++ b/lib/eal/linux/eal.c
@@ -1386,6 +1386,7 @@ rte_eal_cleanup(void)
rte_eal_alarm_cleanup();
@@ -1382,6 +1382,7 @@ rte_eal_cleanup(void)
eal_bus_cleanup();
rte_trace_save();
eal_trace_fini();
+ eal_lcore_telemetry_free();
eal_mp_dev_hotplug_cleanup();
rte_eal_alarm_cleanup();
/* after this point, any DPDK pointers will become dangling */
rte_eal_memory_detach();
diff --git a/lib/eal/meson.build b/lib/eal/meson.build
index 056beb9..7199aa0 100644
index 056beb9461..7199aa03c2 100644
--- a/lib/eal/meson.build
+++ b/lib/eal/meson.build
@@ -25,6 +25,9 @@ subdir(arch_subdir)
Expand All @@ -775,7 +775,7 @@ index 056beb9..7199aa0 100644
if dpdk_conf.has('RTE_USE_LIBBSD')
ext_deps += libbsd
diff --git a/lib/eal/version.map b/lib/eal/version.map
index 7ad12a7..7791f59 100644
index 7ad12a7dc9..7791f59314 100644
--- a/lib/eal/version.map
+++ b/lib/eal/version.map
@@ -440,6 +440,13 @@ EXPERIMENTAL {
Expand All @@ -793,10 +793,10 @@ index 7ad12a7..7791f59 100644

INTERNAL {
diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h
index 913ff2a..9c8f2bf 100644
index e73244822a..17fabfa5b0 100644
--- a/lib/ethdev/rte_ethdev.h
+++ b/lib/ethdev/rte_ethdev.h
@@ -5919,6 +5919,8 @@ rte_eth_rx_burst(uint16_t port_id, uint16_t queue_id,
@@ -5913,6 +5913,8 @@ rte_eth_rx_burst(uint16_t port_id, uint16_t queue_id,
#endif

rte_ethdev_trace_rx_burst(port_id, queue_id, (void **)rx_pkts, nb_rx);
Expand All @@ -806,7 +806,7 @@ index 913ff2a..9c8f2bf 100644
}

diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h
index d0e2463..b4f677c 100644
index d0e2463bb8..b4f677c46d 100644
--- a/lib/eventdev/rte_eventdev.h
+++ b/lib/eventdev/rte_eventdev.h
@@ -2194,6 +2194,7 @@ rte_event_dequeue_burst(uint8_t dev_id, uint8_t port_id, struct rte_event ev[],
Expand Down Expand Up @@ -835,7 +835,7 @@ index d0e2463..b4f677c 100644

#define RTE_EVENT_DEV_MAINT_OP_FLUSH (1 << 0)
diff --git a/lib/rawdev/rte_rawdev.c b/lib/rawdev/rte_rawdev.c
index 4805e14..470ae23 100644
index dcebe4f653..0faae13c9c 100644
--- a/lib/rawdev/rte_rawdev.c
+++ b/lib/rawdev/rte_rawdev.c
@@ -237,13 +237,16 @@ rte_rawdev_dequeue_buffers(uint16_t dev_id,
Expand All @@ -857,7 +857,7 @@ index 4805e14..470ae23 100644

int
diff --git a/lib/regexdev/rte_regexdev.h b/lib/regexdev/rte_regexdev.h
index 25476f1..31fd293 100644
index 25476f1f73..31fd293e48 100644
--- a/lib/regexdev/rte_regexdev.h
+++ b/lib/regexdev/rte_regexdev.h
@@ -1534,6 +1534,7 @@ rte_regexdev_dequeue_burst(uint8_t dev_id, uint16_t qp_id,
Expand All @@ -880,7 +880,7 @@ index 25476f1..31fd293 100644

#ifdef __cplusplus
diff --git a/lib/ring/rte_ring_elem_pvt.h b/lib/ring/rte_ring_elem_pvt.h
index 4b80f58..e2a72e3 100644
index 4b80f58980..e2a72e3ea7 100644
--- a/lib/ring/rte_ring_elem_pvt.h
+++ b/lib/ring/rte_ring_elem_pvt.h
@@ -385,6 +385,7 @@ __rte_ring_do_dequeue_elem(struct rte_ring *r, void *obj_table,
Expand All @@ -892,5 +892,5 @@ index 4b80f58..e2a72e3 100644
}

--
2.43.0
2.25.1

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From 209a9711579aa81084211ac1895a8d01d0902642 Mon Sep 17 00:00:00 2001
From 810d87bf69d79351cfa3089df920e4b726f269a5 Mon Sep 17 00:00:00 2001
From: Anatoly Burakov <anatoly.burakov@intel.com>
Date: Fri, 15 Jul 2022 13:12:45 +0000
Subject: [PATCH 2/3] eal: add cpuset lcore telemetry entries
Expand All @@ -11,7 +11,7 @@ Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
1 file changed, 46 insertions(+)

diff --git a/lib/eal/common/eal_common_lcore_telemetry.c b/lib/eal/common/eal_common_lcore_telemetry.c
index 1478e5a..f01ccd9 100644
index 1478e5a48a..f01ccd9a65 100644
--- a/lib/eal/common/eal_common_lcore_telemetry.c
+++ b/lib/eal/common/eal_common_lcore_telemetry.c
@@ -263,6 +263,49 @@ lcore_handle_busyness(const char *cmd __rte_unused,
Expand Down Expand Up @@ -75,5 +75,5 @@ index 1478e5a..f01ccd9 100644
}

--
2.43.0
2.25.1

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
From 84a7755e2cac79d509f00d216765bf83df723e88 Mon Sep 17 00:00:00 2001
From ea2762b20c60cd66378758559af90bb48c9a8ee5 Mon Sep 17 00:00:00 2001
From: David Hunt <david.hunt@intel.com>
Date: Fri, 23 Aug 2024 09:07:08 +0100
Subject: [PATCH 3/3] add capacity endpoint to telemetry thread
Expand All @@ -19,7 +19,7 @@ Signed-off-by: David Hunt <david.hunt@intel.com>
3 files changed, 262 insertions(+)

diff --git a/lib/eal/common/eal_common_lcore_telemetry.c b/lib/eal/common/eal_common_lcore_telemetry.c
index f01ccd9..18dcc40 100644
index f01ccd9a65..18dcc40b1e 100644
--- a/lib/eal/common/eal_common_lcore_telemetry.c
+++ b/lib/eal/common/eal_common_lcore_telemetry.c
@@ -10,9 +10,18 @@
Expand Down Expand Up @@ -308,7 +308,7 @@ index f01ccd9..18dcc40 100644
{
return -ENOTSUP;
diff --git a/lib/eal/include/rte_lcore.h b/lib/eal/include/rte_lcore.h
index 9f4bd6e..132cdb9 100644
index 9f4bd6e22f..132cdb9139 100644
--- a/lib/eal/include/rte_lcore.h
+++ b/lib/eal/include/rte_lcore.h
@@ -437,6 +437,27 @@ __rte_experimental
Expand Down Expand Up @@ -340,7 +340,7 @@ index 9f4bd6e..132cdb9 100644
* @warning
* @b EXPERIMENTAL: this API may change without prior notice.
diff --git a/lib/eal/version.map b/lib/eal/version.map
index 7791f59..5bb8429 100644
index 7791f59314..5bb8429b29 100644
--- a/lib/eal/version.map
+++ b/lib/eal/version.map
@@ -444,6 +444,7 @@ EXPERIMENTAL {
Expand All @@ -352,5 +352,5 @@ index 7791f59..5bb8429 100644
rte_lcore_busyness_enabled;
rte_lcore_busyness_enabled_set;
--
2.43.0
2.25.1

Loading
Loading