Hi, everyone In an environment with multiple host machines, I want to select a suitable host automatically on which I run a VM depending on machine's load. Libvirt has APIs to get host machine's information, but I think these APIs aren't enough for above purpose. So I suggest below changes. What do you think? * virNodeGetInfo() This API can get "CPU frequency"(mhz member of virNodeInfo) from "cpu MHz" of /proc/cpuinfo. This value isn't constant, because it may be decrease by power saving feature.(cf. cpuspeed on RHEL) This value is very useful for getting *present* cpu frequency, but I want to get Maximum CPU frequency, too. I want to add max_mhz member in struct virNodeInfo from /sys/device/system/cpu/cpuXX/cpufreq/cpuinfo_max_freq. * virNodeGetFreeMemory() This API returns amount of free memory of the host machine's all node, but this value doesn't include host's cache/buffer memory. For above purpose, it would be more suitable to account cache/buffer as free memory, because most of cache/buffer memory are reclaimable. But I think virNodeGetFreeMemory()'s ABI should not change easily. I want to add function virNodeGetCacheBufferMemory(). It returns amount of cache + buffer memory from /proc/meminfo. * virSysinfoRead() This API is completely internal. But DMI type1 information(dmidecode -t1) is useful for above purpose, because it's one of the information which suppose to processing capacity about host machine. I want to export virSysinfoRead() to user. -- Minoru Usui <usui@xxxxxxxxxxxxxxxxx> -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list