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

Reply via email to