Hi Zoltan,

> >     } else if (adapter->rx_vec_allowed) {
> >             PMD_INIT_LOG(DEBUG, "Vector rx enabled, please make sure RX "
> > -                              "burst size no less than 32.");
> > +                               "burst size no less than "
> > +                               "RTE_IXGBE_DESCS_PER_LOOP(=4) (port=%d).",
> 
> I think you should write in this line:
> 
> "%d (port=%d)", RTE_IXGBE_DESCS_PER_LOOP,
> > +                        dev->data->port_id);
> >
Ok, it looks better, will take it.

[...]
> >   uint16_t
> >   ixgbe_recv_scattered_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts,
> >             uint16_t nb_pkts)
> >   {
> >     struct ixgbe_rx_queue *rxq = rx_queue;
> > -   uint8_t split_flags[RTE_IXGBE_VPMD_RX_BURST] = {0};
> > +   uint8_t split_flags[RTE_IXGBE_MAX_RX_BURST] = {0};
> >
> >     /* get some new buffers */
> >     uint16_t nb_bufs = _recv_raw_pkts_vec(rxq, rx_pkts, nb_pkts,
> 
> I don't know if it actually matters from performance point of view, but
> you check the whole split_flags array, even if you received only 4
> packets. Though the overhead of the a for loop might be bigger.
> 
v2 here just roll back the change.
The size of array is constant. It won't loop much, always compare 4 times 
'split_fl64[]==0'.
As you said, I ever sent another variable aplit_flags with loop, only very tiny 
performance difference.
As the patch is not trying to improve the performance here, any improvement I 
propose to make it in another patch.

Reply via email to