Re: [dpdk-dev] Overriding rte_config.h
From: Bruce Richardson <hidden>
Date: 2021-11-02 14:19:45
On Tue, Nov 02, 2021 at 12:24:43PM +0000, Ananyev, Konstantin wrote:
quoted
quoted
quoted
On Fri, Oct 29, 2021 at 09:48:30AM -0400, Ben Magistro wrote:quoted
With the transition to meson, what is the best way to provide custom values to parameters in rte_config.h? When using makefiles, (from memory, I think) we used common_base as a template that was copied in as a replacement for defconfig_x86.... Our current thinking is to apply a locally maintained patch so that we can track custom values easier to the rte_config.h file unless there is another way to pass in an overridden value. As an example, one of the values we are customizing is IP_FRAG_MAX_FRAG. Cheers,There is no one defined way for overriding values in rte_config with the meson build system, as values there are ones that should rarely need to be overridden. If it's the case that one does need tuning, we generally want to look to either change the default so it works for everyone, or alternatively look to replace it with a runtime option. In the absense of that, a locally maintained patch may be reasonable. To what value do you want to change MAX_FRAG? Would it be worth considering as a newer default value in DPDK itself, since the current default is fairly low?That might be an option, with IP_FRAG_MAX_FRAG==8 it should be able to cover common jumbo frame size (9K) pretty easily. As a drawback default reassembly table size will double.Maybe not. I'm not an expert in the library, but it seems the basic struct used for tracking the packets and fragments is "struct ip_frag_pkt". Due to the other data in the struct and the linked-list overheads, the actual size increase when doubling MAX_FRAG from 4 to 8 is only 25%. According to gdb on my debug build it goes from 192B to 256B.Ah yes, you right, struct ip_frag should fit into 16B, key seems the biggest one.quoted
quoted
Even better would be to go a step further and rework lib/ip_frag to make it configurable runtime parameter.Agree. However, that's not as quick a fix as just increasing the default max segs value which could be done immediately if there is consensus on it.You mean for 21.11? I don't mind in principle, but would like to know other people thoughts here. Another thing - we didn't announce it in advance, and it is definitely an ABI change.
I notice from this patch you submitted that the main structure in question is being hidden[1]. Will it still be an ABI change if that patch is merged in? Alternatively, should a fragment count increase be considered as part of that change? /Bruce [1] http://patches.dpdk.org/project/dpdk/patch/20211101124915.9640-1-konstantin.ananyev@intel.com/