On Fri, Oct 4, 2024 at 3:25 AM Mina Almasry <almasrymina@xxxxxxxxxx> wrote: > > On Thu, Oct 3, 2024 at 9:07 AM Taehee Yoo <ap420073@xxxxxxxxx> wrote: > > > > The tcp-data-split-thresh option configures the threshold value of > > the tcp-data-split. > > If a received packet size is larger than this threshold value, a packet > > will be split into header and payload. > > Why do you need this? devmem TCP will always not work with unsplit > packets. Seems like you always want to set thresh to 0 to support > something like devmem TCP. > > Why would the user ever want to configure this? I can't think of a > scenario where the user wouldn't want packets under X bytes to be > unsplit. I totally understand what you mean, Yes, tcp-data-split is zerocopy friendly option but as far as I know, this option is not only for the zerocopy usecase. So, If users enable tcp-data-split, they would assume threshold is 0. But there are already NICs that have been supporting tcp-data-split enabled by default. bnxt_en's default value is 256bytes. If we just assume the tcp-data-split-threshold to 0 for all cases, it would change the default behavior of bnxt_en driver(maybe other drivers too) for the not zerocopy case. Jakub pointed out the generic case, not only for zerocopy usecase in the v1 and I agree with that opinion. https://lore.kernel.org/netdev/20240906183844.2e8226f3@xxxxxxxxxx/