Red Hat Bugzilla – Bug 1461476
Extend sla architecture to consider hugepages-enabled VMs
Last modified: 2017-10-17 08:31:44 EDT
The scheduler should be able to schedule VMs that have memory backed by memory - such VMs do not consume regular memory pages we normally consider, but rather hugepages from previously allocated pool.
Specification of hugepages feature:
- hugepage cannot be split: VM with 800 MB ram and hugepage size of 1048576 will consume exactly one hugepage
- only the memory backing of the guest is stored on hugepages; QEMU overhead resides in regular memory
- host reports available hugepages for VM scheduling in it's stats
"vm.free_hugepages": 16, # <--- the amount of hugepages that we may use for VMs (with hugepage size of 1048576)
"vm.free_hugepages": 0, # <--- the amount of hugepages that we may use for VMs (with hugepage size of 2048)
"dateTime": "2017-06-14T13:02:53 GMT",
- - scheduler *must* use the highlighted field as certain number of system free hugepages may be reserved for something else (e.g. DPDK)
- host reports available hugepages sizes in capabilities
- allocating hugepages reduces available system memory by number of hugepages times hugepages size (even if the hugepages are unused)
- - in other words, each hugepage size can be treated as separate memory pool
- - example: if the host has 64 GiB RAM and 14 1048576 hugepages, it's free memory follows 0 <= free memory <= (64 - 14) GiB
- - the hugepages will be allocated at the boot time
- as far as scheduler is concerned, the hugepages cannot be dynamically (de)allocated
- migration for VMs with hugepages is disabled
- memory hot(unplug) is disabled
- no overcommit
- quota support (maximum number of hugepages consumed by user)
- no special permissions required
- not numa aware at the moment
Do we wish to have different clusters for hosts with static huge pages?
it wouldn't really help much with most of the work needed. once scheduler is aware there is not real need to separate. I mean, sure, it may make sense to do that, but I do not see a reason to enforce it
sorry, it was supposed to be an oVirt bug
Verified according to polarion plan.
1) Quota does not recognize hugepages - Martin Sivak said it expected behavior.
2) Memory hot-plug does not work for 1 GB pages - https://bugzilla.redhat.com/show_bug.cgi?id=1495535
3) Memory hot-unplug works for 2 MB hugepages, I need to get answer if it expected behavior or bug(see under description "memory hot(unplug) is disabled")