Closed gshanemiller closed 2 years ago
Let us review your request and we'll get back to you shortly
Regarding documentation:
Regarding threshold recommendation: We're not using any of the threshold registers in our PMD.
Regarding line speed: ENA is a virtual device, so there is no link. Thus the default link speed for the ENA is RTE_ETH_SPEED_NUM_NONE. The maximum performance is limited by the VF's capabilities and the instance type. As the driver is not aware on which instance type it is running, using appropriate limiters for the instance should be performed on the application side, as it can get access to more variety of tools to do that (e.g. it can read the instance meta data or pass the maximum BW as an argument).
Regarding performance results: You can find the sample results for the c5n.18xlarge. It was achieved by using the benchmarking tool based on the pktgen and the DTS.
Thank you - all questions addressed.
Reopening this item with one further request for clarification. As per
virtio devices (see chapter 12 pg 236) are partially or wholly interrupt driven (INTx/MSI-X).
And as per this link the number one performance constraint on the TX side is whether or not the TXQ's ring is full. As you can see code spends a lot of CPU time busy-spinning on rte_eth_tx_burst trying to flush packets out once the TXQ's ring is full.
which leads to this question:
By default, the ENA PMD works fully in the in the polling mode. The cleanup is performed right after transmit (since v22.03 it's right before the transmit).
Regarding As you can see code spends a lot of CPU time busy-spinning on rte_eth_tx_burst trying to flush packets out once the TXQ's ring is full
--> That's because application is pushing the packets faster than the hardware can handle it
We support only Rx interrupt, however it is optional (disabled by default). This is application's power-saving feature, you can find an example for usage in the l3fwd-power application
Can Amazon provide the following to aid with DPDK development,
rte_eth_link_get_nowait
. andrte_eth_link_get
report0x00
which does not correspond toRTE_ETH_SPEED_NUM_
define notRTE_ETH_SPEED_NUM_NONE
. After some further testing via DPDK'sdpdk-testpmd
task, there seems to be no way to set or get a link speed. What speed then does the ENA NIC default to?Elsewhere, for example during the EC2 launch screen for
c5n.metal
instances, the web pages saysc5n.metal
instances are capable of 100Gbp with EFA enabled:Was that performance achieved on this driver?