[dpdk-dev] [PATCH v4 3/7] ethdev: copy ethdev 'fast' API into separate structure
Thomas Monjalon
thomas at monjalon.net
Tue Oct 5 18:48:06 CEST 2021
05/10/2021 18:41, Ananyev, Konstantin:
> > > +struct rte_eth_fp_ops {
> > > +
> > > + /** first 64B line */
> > > + eth_rx_burst_t rx_pkt_burst;
> > > + /**< PMD receive function. */
> > > + eth_tx_burst_t tx_pkt_burst;
> > > + /**< PMD transmit function. */
> > > + eth_tx_prep_t tx_pkt_prepare;
> > > + /**< PMD transmit prepare function. */
> > > + eth_rx_queue_count_t rx_queue_count;
> > > + /**< Get the number of used RX descriptors. */
> > > + eth_rx_descriptor_status_t rx_descriptor_status;
> > > + /**< Check the status of a Rx descriptor. */
> > > + eth_tx_descriptor_status_t tx_descriptor_status;
> > > + /**< Check the status of a Tx descriptor. */
> > > + uintptr_t reserved[2];
> >
> > uintptr_t size is not fix.
> > I think you mean uint64_t.
>
> Nope, I meant 'uintptr_t' here.
> That way it fits really nicely to both 64-bit and 32-bit systems.
> For 64-bit systems we have all function pointers on first 64B line,
> and all data pointers on second 64B line.
> For 32-bit systems we have all fields within first 64B line.
OK but then the next comment is partially wrong:
> > > +
> > > + /** second 64B line */
> > > + struct rte_ethdev_qdata rxq;
> > > + struct rte_ethdev_qdata txq;
> > > + uintptr_t reserved2[4];
> > > +
> > > +} __rte_cache_aligned;
More information about the dev
mailing list