VMware Cloud Community
manchesterunite
Contributor
Contributor

What is ESXi doing when NICs is set to passthrough

Hi

   I am new to ESXi,  so please correct me if I say things not clearly.

BackGround

  1. ESXi 6.5 on  Dell PowerEdge R730 with a 4-port X710 10G NIC. and with 12 cpu cores,hyperthread  is off.
  2. all 4 NIC ports are set to passthrough
  3. CentOS-7 VM with DPDK-16.04.
  4. 11 vcpus(1,2,3,4,5,6,7,8,9,10,11) is assigned to VM,

          where 4 cores are used for dpdk Rx/Tx frame(CPU usage 100%, and affinity is set to cpu1-4),we called it process A

          and 6 cores are used for frame further processing(CPU usage 100% too,cpu affinity is set to cpu5-10),,we called it process B

          the last 1 core is for manage use,cpu usage is low

test

  1. when I do RFC-2544 Throughput(port 0 in 、port 1 out), which means process B is loop with nothing ,

        and the Throughput is really low(acceptable frame loss is 0),X710 drops frame even at 100Kpps 256Byte...

       while acceptable frame loss set to 0.1%, the Throughput is almost line-rate.

    2. after I killed process B, RFC-2544 Throughput is almost line-rate(acceptable frame loss is 0)

    3. furthermore, I write a test program which deadloop just for cpu occupation,when I start run it on core 5 6  7 8 9 10,frame loss happen

question

   1. it looks like ESXi is doing something whch need much cpu time, when VM use too much cpu,it start drop frame?

   2. Is there some configuration to optimize this ?

Reply
0 Kudos
0 Replies