Hi, vpp experts,

I am trying to allocate more cores to a phy nic. I want to allocate cores
4,6,8,10 to eth0, and cores 12,14,16,18 to eth1.

cpu {
  main-core 2
*  # corelist-workers 4,6,8,10,12,14,16,18,20,22   <== This does not work.
vpp crashes when starting. *
  corelist-workers 4,6,8,10,12,14,16,18
}

dpdk {
  socket-mem 2048,0
  log-level debug
  no-tx-checksum-offload
  dev default{
    num-tx-desc 512
    num-rx-desc 512
  }
  dev 0000:1a:00.0 {
    # workers 4,6,8,10,12
    workers 4,6,8,10
    name eth0
  }
  dev 0000:19:00.1 {
    # workers 14,16,18,20,22
    workers 12,14,16,18
    name eth1
  }
  # Use aesni mb lib.
  vdev crypto_aesni_mb0,socket_id=0
  # Use qat VF pcie addresses.
#  dev 0000:3d:01.0
  no-multi-seg
}

Afte vpp starts, I can see eth1 got 4 cores but eth0 only got 3 cores.

vpp# sh thread
ID     Name                Type        LWP     Sched Policy (Priority)
 lcore  Core   Socket State
0      vpp_main                        10653   other (0)                2
   0      0
1      vpp_wk_0            workers     10655   other (0)                4
   1      0
2      vpp_wk_1            workers     10656   other (0)                6
   4      0
3      vpp_wk_2            workers     10657   other (0)                8
   2      0
4      vpp_wk_3            workers     10658   other (0)                10
    3      0
5      vpp_wk_4            workers     10659   other (0)                12
    8      0
6      vpp_wk_5            workers     10660   other (0)                14
    13     0
7      vpp_wk_6            workers     10661   other (0)                16
    9      0
*8      vpp_wk_7            workers     10662   other (0)                18
    12     0   <=== core 18 is not used by eth0.*
vpp# sh interface rx-placement
Thread 1 (vpp_wk_0):
  node dpdk-input:
    eth1 queue 0 (polling)
Thread 2 (vpp_wk_1):
  node dpdk-input:
    eth1 queue 1 (polling)
Thread 3 (vpp_wk_2):
  node dpdk-input:
    eth1 queue 2 (polling)
Thread 4 (vpp_wk_3):
  node dpdk-input:
    eth1 queue 3 (polling)



*Thread 5 (vpp_wk_4):  node dpdk-input:    eth0 queue 0 (polling)    eth0
queue 2 (polling)*
Thread 6 (vpp_wk_5):
  node dpdk-input:
    eth0 queue 3 (polling)
Thread 7 (vpp_wk_6):
  node dpdk-input:
    eth0 queue 1 (polling)
vpp#

It seems there is a limitation on assigning cores to nic.
1. I cannot allocate cores after 20 to corelist-workers.
2. Cores after 18 cannot be allocated to nic.

Is this some bug? Or, some undocumented limitation?

Thanks.
Chuan
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#14489): https://lists.fd.io/g/vpp-dev/message/14489
Mute This Topic: https://lists.fd.io/mt/41334952/21656
Group Owner: [email protected]
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to