Skip to contentSkip to conversation

configuration of memseg lists number

DISCUSSION Thomas Monjalon 3 participants 3 messages Nov 2, 2023 – Nov 6, 2023

lore
Share & tools
lore
#0 lore raw

Hello,

While looking at Seastar, I see it uses this patch on top of DPDK:

build: add meson options of max_memseg_lists

RTE_MAX_MEMSEG_LISTS = 128 is not enough for high-memory machines, in our case, we need to increase it to 8192.
so add an option so user can override it.

https://github.com/scylladb/dpdk/commit/cafaa3cf457584de

I think we could allow to configure this at runtime, as we did already for RTE_MAX_MEMZONE:
we've added rte_memzone_max_set() / rte_memzone_max_get().

Opinions, comments, volunteers?

#2 lore raw
In reply to Avi Kivity
Quoted 14 lines · Avi Kivity

Thanks, it makes sense. I'll get around to it "eventually".

On Thu, 2023-11-02 at 11:04 +0100, Thomas Monjalon wrote:

Hello,

While looking at Seastar, I see it uses this patch on top of DPDK:

build: add meson options of max_memseg_lists

RTE_MAX_MEMSEG_LISTS = 128 is not enough for high-memory machines, in our case, we need to increase it to 8192.
so add an option so user can override it.

Quoted 9 lines

https://github.com/scylladb/dpdk/commit/cafaa3cf457584de

I think we could allow to configure this at runtime, as we did already for RTE_MAX_MEMZONE:
we've added rte_memzone_max_set() / rte_memzone_max_get().

Opinions, comments, volunteers?

Hi Thomas,

Thank you for looking into it. I sent this patch[0] to DPDK 2 years ago. but i failed to find a solid proof to prove that we need such a massive number, and failed to follow-up on the suggestion[1] on calculating his number based on the lcores / numa node as I was trying to port the newer dpdk to seastar at that moment, so dropped the ball on my end, sorry for that. just revisited the places where we use RTE_MAX_MEMSEG_LISTS. it seems it would be a bigger effort to make it a run-time configurable option instead of a compile-time one.

--
[0] https://inbox.dpdk.org/dev/[email protected]/
[1] https://inbox.dpdk.org/dev/2642296.XfZ1dg20Xv@thomas/

Signature · 2 lines
Regards
Kefu Chai
#1 lore raw
In reply to Thomas Monjalon

Thanks, it makes sense. I'll get around to it "eventually".

Quoted 20 lines · Thomas Monjalon

Hello,

While looking at Seastar, I see it uses this patch on top of DPDK:

        build: add meson options of max_memseg_lists

        RTE_MAX_MEMSEG_LISTS = 128 is not enough for high-memory machines,
        in our case, we need to increase it to 8192. so add an option so user can override it.

        https://github.com/scylladb/dpdk/commit/cafaa3cf457584de

I think we could allow to configure this at runtime, as we did already for RTE_MAX_MEMZONE:
we've added rte_memzone_max_set() / rte_memzone_max_get().

Opinions, comments, volunteers?