From 6c02eb9b0442630173da8bf5abfa23db442d6894 Mon Sep 17 00:00:00 2001 From: Sahid Orentino Ferdjaoui Date: Tue, 6 Jan 2015 08:52:12 -0500 Subject: [PATCH] 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 --- .../juno/approved/virt-driver-large-pages.rst | 88 ++++++------------- 1 file changed, 28 insertions(+), 60 deletions(-) diff --git a/specs/juno/approved/virt-driver-large-pages.rst b/specs/juno/approved/virt-driver-large-pages.rst index bfecf01e5..01b84a33d 100644 --- a/specs/juno/approved/virt-driver-large-pages.rst +++ b/specs/juno/approved/virt-driver-large-pages.rst @@ -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| 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 =======