virt: update large pages spec according to the implementation

The implementation differ from the spec in some points
this commit tries to fix it.

Change-Id: Id3f7b929f7653b93061ddba064133cdf80e294a1
This commit is contained in:
Sahid Orentino Ferdjaoui 2015-01-06 08:52:12 -05:00
parent a22ba2deda
commit 6c02eb9b04
1 changed files with 28 additions and 60 deletions

View File

@ -52,7 +52,7 @@ Proposed change
The flavor extra specs will be enhanced to support a new parameter
* hw:mem_page_size=large|small|any|2MB|1GB
* hw:mem_page_size=large|small|any|<custom page size in KiB>
In absence of any page size setting in the flavor, the current behaviour of
using the small, default, page size will continue. A setting of 'large' says
@ -147,20 +147,20 @@ availability per node. So it would then look like
total = 10737418240
free = 3221225472
},
mempages = {
4096 = {
total = 262144
free = 262144
mempages = [{
size_kb = 4,
total = 262144,
used = 262144,
}, {
size_kb = 2048,
total = 1024,
used = 1024,
}, {
size_kb = 1048576,
total = 7,
used = 0,
}
2097152 = {
total = 1024
free = 1024
}
1073741824 = {
total = 7
free = 0
}
}
]
distances = [ 10, 20],
},
{
@ -170,53 +170,25 @@ availability per node. So it would then look like
total = 10737418240
free = 5368709120
},
mempages = {
4096 = {
total = 262144
free = 262144
mempages = [{
size_kb = 4,
total = 262144,
used = 512,
}, {
size_kb = 2048,
total = 1024,
used = 128,
}, {
size_kb = 1048576,
total = 7,
used = 4,
}
2097152 = {
total = 1024
free = 1024
}
1073741824 = {
total = 7
free = 2
}
}
]
distances = [ 20, 10],
}
],
}
The data provided to the extensible resource tracker would be similarly
enhanced to include this page info in a flattened format, which can be
efficiently queried based on the key name:
* hw_numa_nodes=2
* hw_numa_node0_cpus=4
* hw_numa_node0_mem_total=10737418240
* hw_numa_node0_mem_avail=3221225472
* hw_numa_node0_mem_page_total_4=262144
* hw_numa_node0_mem_page_avail_4=262144
* hw_numa_node0_mem_page_total_2048=1024
* hw_numa_node0_mem_page_avail_2048=1024
* hw_numa_node0_mem_page_total_1048576=7
* hw_numa_node0_mem_page_avail_1048576=0
* hw_numa_node0_distance_node0=10
* hw_numa_node0_distance_node1=20
* hw_numa_node1_cpus=4
* hw_numa_node1_mem_total=10737418240
* hw_numa_node1_mem_avail=5368709120
* hw_numa_node1_mem_page_total_4=262144
* hw_numa_node1_mem_page_avail_4=262144
* hw_numa_node1_mem_page_total_2048=1024
* hw_numa_node1_mem_page_avail_2048=1024
* hw_numa_node1_mem_page_total_1048576=7
* hw_numa_node1_mem_page_avail_1048576=2
* hw_numa_node1_distance_node0=20
* hw_numa_node1_distance_node1=10
REST API impact
---------------
@ -281,7 +253,7 @@ Primary assignee:
berrange
Other contributors:
ndipanov
ndipanov, sahid-ferdjaoui
Work Items
----------
@ -310,10 +282,6 @@ Dependencies
won't be fully realized until per-NUMA node large page allocation can be
done.
* Extensible resource tracker
https://blueprints.launchpad.net/nova/+spec/extensible-resource-tracking
Testing
=======