
1. If one or more NIC is assigned to be DPDK NIC, allocate_cpus_for_dpdk() will calculate CPU Ids to be used by DPDK pmd threads when user calling get_host(s) API. Currently, one CPU per each NUMA region is allocated. For example: NUMA layout: {'numa_node0': [0,1,2,3,4,5,6,7, 16,17,18,19,20,21,22,23], 'numa_node1': [8,9,10,11,12,13,14,15, 24,25,26,27,28,29,30,31]} CPU choosed(no matter which NUMA region the NICs are located): [1,9] Note: On systems with HyperThreading enabled, it is recommended to also allocate the HT sibling core. But currently, this is not supported. Note: We currently restrict that all NICs which are assigned to be DPDK NIC must be located in one NUMA region(In future, this limitation should be removed, keep it for now for simplicity and compatibility with DVS). 2. Next step is to impl. assigning NIC as a DPDK nic. Otherwise, allocate_cpus_for_dpdk() returns nothing. 3. In future, user can get cores allocated to dpdk from host_meta info, then fills them in isolcpus field in host_meta info to let Daisy to build the final isolcpus kernel parameters for each compute node. Note: Cores allocated to dpdk should be removed from the nova vcpu_pin_set but currently we do not support setting the nova vcpu_pin_set. Note: It is not recommended to isolate cores in the nova vcpu_pin_set unless the host will be dedicated for vms that request cpu pinning. So for the common usecase, isolcpus = Cores allocated to dpdk. Change-Id: I58cd6d361d3d194cd35377b1c1bcef113f8036b0 Signed-off-by: Zhijiang Hu <hu.zhijiang@zte.com.cn>
[toc]
Daisy(Openstack project name: daisycloud-core)
Daisy provides automated deployment and management of OpenStack and other distributed systems.
Website
Code Layout
- code/daisy: core logic code.
- code/daisyclient: command line interface code.
- code/horizon: web interface code.
Description
Languages
Python
89.5%
Shell
8.1%
Makefile
0.9%
RPM Spec
0.8%
reStructuredText
0.6%