Virt driver pinning guest vCPUs threads to host pCPUs threads

Registered by Stephen Finucane

This feature aims to implement the remaining functionality of the 'virt-driver-cpu-pinning' story. This "remaining functionality" entails adding support for thread policies

Blueprint information

Status:
Complete
Approver:
John Garbutt
Priority:
Low
Drafter:
Stephen Finucane
Direction:
Approved
Assignee:
Stephen Finucane
Definition:
Approved
Series goal:
Accepted for mitaka
Implementation:
Implemented
Milestone target:
milestone icon mitaka-3
Started by
Matt Riedemann
Completed by
John Garbutt

Related branches

Sprints

Whiteboard

Please note this blueprint will delayed until the M release if it is not in the NeedsCodeReview state (with all the code up for review) before July 16th, and merged by July 30th. We expect to re-open master for the M release in September. For more information, please see: https://wiki.openstack.org/wiki/Nova/Liberty_Release_Schedule#Non-priority_Blueprint_Feature_Freeze and http://lists.openstack.org/pipermail/openstack-dev/2015-June/065819.html
--johnthetubaguy 15th July 2015

Unapproved for liberty due to the Non-Priority Feature Proposal Freeze. --johnthetubaguy 16th July 2015

Gerrit topic: https://review.openstack.org/#q,topic:bp/virt-driver-cpu-thread-pinning,n,z

Addressed by: https://review.openstack.org/202647
    Add 'hw_cpu_threads_policy' image metadata prop

Addressed by: https://review.openstack.org/202648
    Add 'cpu_policy' and 'cpu_threads_policy' fields

Addressed by: https://review.openstack.org/202649
    Add 'hw:cpu_threads_policy=avoid' filtering

Addressed by: https://review.openstack.org/202650
    trivial: Add some logs to 'numa_topology_filter'

Addressed by: https://review.openstack.org/202651
    Add 'hw:cpu_threads_policy=require' scheduling

Addressed by: https://review.openstack.org/202652
    Add 'hw:cpu_threads_policy=separate' scheduling

Addressed by: https://review.openstack.org/202653
    Make use of 'InstanceNUMACell.cpu_policy' field

Addressed by: https://review.openstack.org/202654
    trivial: Make use of 'CPUAllocation' enum values

Addressed by: https://review.openstack.org/202655
    Add 'hw:cpu_threads_policy=isolate' scheduling

The mitaka re-proposed spec https://review.openstack.org/#/c/241355/ was approved. -- mriedem 20151104

Addressed by: https://review.openstack.org/243858
    trivial: Use CPU(Allocation|Thread)Policy in tests

Addressed by: https://review.openstack.org/244198
    Add 'auto' case to virt-driver CPU thread pinning

Addressed by: https://review.openstack.org/229574
    hardware: stop using instance cell topology in CPU pinning logic

Addressed by: https://review.openstack.org/229575
    Fix CPU pinning for odd number of CPUs w hyperthreading

Addressed by: https://review.openstack.org/244857
    Move thread policy features between specs

Addressed by: https://review.openstack.org/254783
    trivial: Add additional logs for NUMA scheduling

Addressed by: https://review.openstack.org/264693
    releasenotes: Note on CPU thread pinning support

Addressed by: https://review.openstack.org/284632
    Add redirect for renamed CPU thread policy spec

Addressed by: https://review.openstack.org/284633
    Mark CPU thread pinning as implemented

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.