From a8d85f7d2a1dee6ce94c6c1e2ff416c937c83114 Mon Sep 17 00:00:00 2001 From: jiangheng Date: Thu, 9 May 2024 22:02:29 +0800 Subject: [PATCH] mem: require at least two segs per memseg lists in map-perfect mode (cherry picked from commit 54ce0b901c694c7fc3753c776935ebcd4d5bdd3b) --- ...-two-segs-per-memseg-lists-in-map-pe.patch | 33 +++++++++++++++++++ dpdk.spec | 7 +++- 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 0036-require-at-least-two-segs-per-memseg-lists-in-map-pe.patch diff --git a/0036-require-at-least-two-segs-per-memseg-lists-in-map-pe.patch b/0036-require-at-least-two-segs-per-memseg-lists-in-map-pe.patch new file mode 100644 index 0000000..a025612 --- /dev/null +++ b/0036-require-at-least-two-segs-per-memseg-lists-in-map-pe.patch @@ -0,0 +1,33 @@ +From c766c3d12b1bb5e791cff3f34c733f18ce5cdd18 Mon Sep 17 00:00:00 2001 +From: jiangheng +Date: Thu, 9 May 2024 21:57:54 +0800 +Subject: [PATCH] require at least two segs per memseg lists in map-perfect + mode + +--- + lib/eal/common/eal_common_dynmem.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/lib/eal/common/eal_common_dynmem.c b/lib/eal/common/eal_common_dynmem.c +index 89e2acd..7f270a0 100644 +--- a/lib/eal/common/eal_common_dynmem.c ++++ b/lib/eal/common/eal_common_dynmem.c +@@ -229,8 +229,14 @@ eal_dynmem_memseg_lists_init(void) + "n_segs:%i socket_id:%i hugepage_sz:%" PRIu64 "\n", + n_seglists, n_segs, socket_id, pagesz); + +- if (internal_conf->map_perfect) ++ if (internal_conf->map_perfect) { + need_n_segs = eal_sec_get_num_pages(used_hp, pagesz, socket_id); ++ /* ++ * commit 51a5a72e2a (eal/linux: fix legacy mem init with many segments) require ++ * at least 2 segs per memseg list ++ */ ++ need_n_segs = RTE_MAX(2, need_n_segs); ++ } + else + need_n_segs = n_segs; + +-- +2.27.0 + diff --git a/dpdk.spec b/dpdk.spec index 5abc046..0e8b12d 100644 --- a/dpdk.spec +++ b/dpdk.spec @@ -10,7 +10,7 @@ Name: dpdk Version: 23.11 -Release: 15 +Release: 16 URL: http://dpdk.org Source: https://fast.dpdk.org/rel/dpdk-%{version}.tar.xz @@ -57,6 +57,8 @@ Patch6033: 0033-net-hns3-enable-PFC-for-all-user-priorities.patch Patch6034: 0034-app-testpmd-fix-RSS-algorithm-choice.patch Patch6035: 0035-net-hns3-support-new-device.patch +Patch9036: 0036-require-at-least-two-segs-per-memseg-lists-in-map-pe.patch + BuildRequires: meson BuildRequires: python3-pyelftools BuildRequires: diffutils @@ -257,6 +259,9 @@ strip -g $RPM_BUILD_ROOT/lib/modules/%{kern_devel_ver}/extra/dpdk/igb_uio.ko %endif %changelog +* Thu May 09 2024 jiangheng - 23.11-16 +- require at least two segs per memseg lists in map-perfect mode + * Mon May 06 2024 laokz - 23.11-15 - riscv64: Remove unsupported rte_net_i40e for gazelle-pdump -- Gitee