[Kimchi-devel] [PATCH v3]

Christy Perez christy at linux.vnet.ibm.com
Wed Nov 12 18:46:30 UTC 2014


Patches resent with appropriate subject.

On 11/12/2014 12:43 PM, Christy Perez wrote:
> This patchset is a better functioning, but not final, version of the
> topology logic. Aline asked that I send another version with details
> for the UI will interact with the cpu_info API.
> 
> The flow will be:
> - GET /host/cpu_info:
> 
>     curl -k -u user  -H 'Content-Type: application/json' \
>          -H 'Accept: application/json'  https://localhost:8001/host/cpuinfo
>     
>     {
>       "cores":2,
>       "threading_enabled":true,
>       "sockets":1,
>       "threads_per_core":2
>     }
> 
>     Note: I removed the cores_online and cores_present, and changed it
>         to just cores. I think the other was too much info.
> 
> - Based on that information, plus the host arch, the UI can display
>     - If host arch is Power:
>         - Display a menu labled SMT, with up to four check-boxes.
>           The check-boxes will be labeled SMT1, SMT2, SMT4, and SMT8.
>           The max SMT value displayed will be dependant upon
>           threads_per_core from above. The default checkbox should be the
>           greatest SMT value (e.g. SMT8).
>         - Display the same box for CPUs as before. I had initially thought
>           about having a drop-down for CPUs instead of the empty field,
>           (with only legal vCPU amounts, like 1,2,4,8, etc.), but that will
>           get complicated with different types of processors, and also
>           be too tedious to use. So, unless someone objects,
>           I think the next best thing to do, is just slightly adjust the number
>           of vCPUs the user asked for in order to make sure that the number
>           is a legal number to use with a topology (since vCPUS must equal
>           sockets * cores * threads).
>           Note: See below return from get_rec_topology. If different than
>           what the user entered, this new vcpus should replace the number
>           entered by the user. If some kind of effect could be shown
>           when it's changed, that might be helpful.
>     - Else:
>         - Display a menu labeled Hyper-Threading, with only a checkbox labeled
>             HT.
>           Note: The same comments for vCPUS as above apply here. The number
>             maybe need to change based on the CPU capabilities.
> 
> - The user's selections from those fields is sent to the get_rec_topology
>     method, which will then return two values:
>     {'topology': {'sockets': sockets, 'cores': cores, 'threads': threads},
>                   'vcpus': best_vcpus}
>     These values can then be used to create the template: 
> 
> curl -k -u user -X POST -H 'Content-Typ: application/json' -H 'Accept: application/json' \
>  https://localhost:8001/templates -d'{"name": "test_topo", "cdrom": "/isos/DVD_name.iso", \
>  "cpus":4, "cpu_info": {"topology": {"sockets": 1, "cores": 2, "threads":2}}}'
> 
> What doesn't work right now: 
>     - Some error messages still need to be created.
>     - API doc needs to be added.
> 
> Christy Perez (1):
>   Parts to allow  Kimchi to configure the cpu topology.
> 
>  docs/API.md                   |   2 +
>  src/kimchi/API.json           |   6 ++
>  src/kimchi/control/cpuinfo.py |  37 +++++++++
>  src/kimchi/control/host.py    |   2 +
>  src/kimchi/i18n.py            |   2 +
>  src/kimchi/model/cpuinfo.py   | 175 ++++++++++++++++++++++++++++++++++++++++++
>  src/kimchi/model/host.py      |   1 +
>  src/kimchi/model/templates.py |  16 +++-
>  8 files changed, 240 insertions(+), 1 deletion(-)
>  create mode 100644 src/kimchi/control/cpuinfo.py
>  create mode 100644 src/kimchi/model/cpuinfo.py
> 




More information about the Kimchi-devel mailing list