On Tue, Nov 02, 2021 at 12:24:43PM +0000, Ananyev, Konstantin wrote: > > > > > On Fri, Oct 29, 2021 at 09:48:30AM -0400, Ben Magistro wrote: > > > > > 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. > > > > > > 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.anan...@intel.com/