src: warn against virNodeGetInfo() API call due to inaccurate info

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
Daniel P. Berrangé 2019-12-16 10:35:50 +00:00
parent 3e719fe949
commit 5209791e47
2 changed files with 20 additions and 0 deletions

View File

@ -147,6 +147,10 @@ typedef virSecurityModel *virSecurityModelPtr;
* *
* a virNodeInfo is a structure filled by virNodeGetInfo() and providing * a virNodeInfo is a structure filled by virNodeGetInfo() and providing
* the information for the Node. * the information for the Node.
*
* Note that the information in this struct is not guaranteed to be an
* accurate relection of the system hardware. See the virNodeGetInfo()
* API documentation for further guidance.
*/ */
typedef struct _virNodeInfo virNodeInfo; typedef struct _virNodeInfo virNodeInfo;

View File

@ -399,6 +399,22 @@ virConnectGetMaxVcpus(virConnectPtr conn,
* *
* Extract hardware information about the node. * Extract hardware information about the node.
* *
* Use of this API is strongly discouraged as the information provided
* is not guaranteed to be accurate on all hardware platforms.
*
* The mHZ value merely reflects the speed that the first CPU in the
* machine is currently running at. This speed may vary across CPUs
* and changes continually as the host OS throttles.
*
* The nodes/sockets/cores/threads data is potentially inaccurate as
* it assumes a symmetric installation. If one NUMA node has more
* sockets populated that another NUMA node this information will be
* wrong. It is also not able to report about CPU dies.
*
* Applications are recommended to use the virConnectGetCapabilities()
* call instead, which provides all the information except CPU mHZ,
* in a more accurate representation.
*
* Returns 0 in case of success and -1 in case of failure. * Returns 0 in case of success and -1 in case of failure.
*/ */
int int