Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add acrn:cpu_affinity #19

Open
YuanyuanZhao609 opened this issue Mar 1, 2022 · 0 comments
Open

Add acrn:cpu_affinity #19

YuanyuanZhao609 opened this issue Mar 1, 2022 · 0 comments

Comments

@YuanyuanZhao609
Copy link
Contributor

YuanyuanZhao609 commented Mar 1, 2022

CPU affinity support is added using XML namespace "acrn":

  • acrn:config: indicate CPU affinity via <acrn:cpu_affinity value='0,2,...'/>
    The value of CPU affinity should be target pCPU's local APIC id.

[External_System_ID] ACRN-7098

YuanyuanZhao609 added a commit to YuanyuanZhao609/acrn-libvirt that referenced this issue Mar 1, 2022
CPU affinity support is added using XML namespace "acrn":

- <acrn:config>: indicate CPU affinity via <acrn:cpu_affinity value='0,2,...'/>
The value of CPU affinity should be target pCPU's local APIC id.

The 'cpuset' attribute of CPU allocation will be invalid but will not
report warning.

Tracked-On: projectacrn#19
Signed-off-by: Yuanyuan Zhao <[email protected]>
YuanyuanZhao609 added a commit to YuanyuanZhao609/acrn-libvirt that referenced this issue Mar 7, 2022
CPU affinity support is added using XML namespace "acrn":

- <acrn:config>: indicate CPU affinity via <acrn:cpu_affinity value='0,2,...'/>
The value of CPU affinity should be target pCPU's local APIC id.

The 'cpuset' attribute of CPU allocation will be invalid but will not
report warning.

Tracked-On: projectacrn#19
Signed-off-by: Yuanyuan Zhao <[email protected]>
YuanyuanZhao609 added a commit to YuanyuanZhao609/acrn-libvirt that referenced this issue Mar 7, 2022
CPU affinity support is added using XML namespace "acrn":

- <acrn:config>: indicate CPU affinity via <acrn:cpu_affinity value='0,2,...'/>
The value of CPU affinity should be target pCPU's local APIC id.

The 'cpuset' attribute of CPU allocation will be invalid but will not
report warning.

Tracked-On: projectacrn#19
Signed-off-by: Yuanyuan Zhao <[email protected]>
liuhang-bit pushed a commit that referenced this issue Mar 9, 2022
CPU affinity support is added using XML namespace "acrn":

- <acrn:config>: indicate CPU affinity via <acrn:cpu_affinity value='0,2,...'/>
The value of CPU affinity should be target pCPU's local APIC id.

The 'cpuset' attribute of CPU allocation will be invalid but will not
report warning.

Tracked-On: #19
Signed-off-by: Yuanyuan Zhao <[email protected]>
YuanyuanZhao609 added a commit to YuanyuanZhao609/acrn-libvirt that referenced this issue Apr 20, 2022
Add cpu_affinity to check list when parse acrn name space.

Tracked-On: projectacrn#19
Signed-off-by: Yuanyuan Zhao <[email protected]>
liuhang-bit pushed a commit that referenced this issue Apr 20, 2022
Add cpu_affinity to check list when parse acrn name space.

Tracked-On: #19
Signed-off-by: Yuanyuan Zhao <[email protected]>
YuanyuanZhao609 added a commit to YuanyuanZhao609/acrn-libvirt that referenced this issue Apr 29, 2022
Analysis '/proc/cpuinfo' and create a mapping between processor and
apicid before offline CPUs. When libvit allocate cpus for VM, this
map can be used to generate '--cpu_affinity' parameter.

Tracked-On: projectacrn#19
Signed-off-by: Yuanyuan Zhao <[email protected]>
YuanyuanZhao609 added a commit to YuanyuanZhao609/acrn-libvirt that referenced this issue Apr 29, 2022
If a VM only set the max CPU number and not set the CPUs to use,
this patch will allocate vCPUs to the VM. The CPUs that have been
used the least times will be select. The selection will start from
the last CPU.

Tracked-On: projectacrn#19
Signed-off-by: Yuanyuan Zhao <[email protected]>
YuanyuanZhao609 added a commit to YuanyuanZhao609/acrn-libvirt that referenced this issue Apr 29, 2022
vCPU allocated by `acrn:cpu_affinity` is delivered to acrn-dm
directly, and vCPU preparation processs is bypassed. So add vCPU
info which used to record durring vCPU preparation in this patch:
1. Set vCPU online state of the util configuration (struct virDomainDef).
2. Add the vCPU to allocMap.

Tracked-On: projectacrn#19
Signed-off-by: Yuanyuan Zhao <[email protected]>
liuhang-bit pushed a commit that referenced this issue May 5, 2022
Analysis '/proc/cpuinfo' and create a mapping between processor and
apicid before offline CPUs. When libvit allocate cpus for VM, this
map can be used to generate '--cpu_affinity' parameter.

Tracked-On: #19
Signed-off-by: Yuanyuan Zhao <[email protected]>
liuhang-bit pushed a commit that referenced this issue May 5, 2022
If a VM only set the max CPU number and not set the CPUs to use,
this patch will allocate vCPUs to the VM. The CPUs that have been
used the least times will be select. The selection will start from
the last CPU.

Tracked-On: #19
Signed-off-by: Yuanyuan Zhao <[email protected]>
liuhang-bit pushed a commit that referenced this issue May 5, 2022
vCPU allocated by `acrn:cpu_affinity` is delivered to acrn-dm
directly, and vCPU preparation processs is bypassed. So add vCPU
info which used to record durring vCPU preparation in this patch:
1. Set vCPU online state of the util configuration (struct virDomainDef).
2. Add the vCPU to allocMap.

Tracked-On: #19
Signed-off-by: Yuanyuan Zhao <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant