On Tue, 23 Jun 2026 at 10:06, David Marchand <[email protected]> wrote: > > Hello Ilya, > > On Mon, 22 Jun 2026 at 19:08, David Marchand <[email protected]> > wrote: > > > > Also update dpif-netdev output action, as it relies on structures sized > > > > against > > > > NETDEV_MAX_BURST (for stats/cycles tracking, and txq distribution). > > > > > > Maybe this one split can be avoided? We could try to track the growth > > > of the output_pkts batch and make the output_pkts_rxqs dynamic and > > > grow it at the same time. The only place where the output_pkts can > > > grow seem to be dp_execute_output_chunk(). We could store the previous > > > size, then add_array(), check if the size changed and realloc the rxqs > > > array before updating the pointer in it. This should allow us to avoid > > > extra splitting work. WDYT? > > Could we perhaps change this rxq tracking into a per packet metadata / > dp_packet field (the distinction between the two categories is not > clear to me)? > When a packet reaches the output action, I assume some of those > metadata won't be reused and we could overwrite one of them?
Hum no, probably not a good idea. The packet may have been freed in transmission and then dp_netdev_rxq_add_cycles loop won't have any info left... Ok, let's go with the dynamic allocation of output_pkts_rxqs. -- David Marchand _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
