• S
    nodeinfo: Fix output on PPC64 KVM hosts · 014208c4
    Shivaprasad G Bhat 提交于
    The nodeinfo is reporting incorrect number of cpus and incorrect host
    topology on PPC64 KVM hosts. The KVM hypervisor on PPC64 needs only
    the primary thread in a core to be online, and the secondaries offlined.
    While scheduling a guest in, the kvm scheduler wakes up the secondaries to
    run in guest context.
    
    The host scheduling of the guests happen at the core level(as only primary
    thread is online). The kvm scheduler exploits as many threads of the core
    as needed by guest. Further, starting POWER8, the processor allows splitting
    a physical core into multiple subcores with 2 or 4 threads each. Again, only
    the primary thread in a subcore is online in the host. The KVM-PPC
    scheduler allows guests to exploit all the offline threads in the subcore,
    by bringing them online when needed.
    (Kernel patches on split-core http://www.spinics.net/lists/kvm-ppc/msg09121.html)
    
    Recently with dynamic micro-threading changes in ppc-kvm, makes sure
    to utilize all the offline cpus across guests, and across guests with
    different cpu topologies.
    (https://www.mail-archive.com/kvm@vger.kernel.org/msg115978.html)
    
    Since the offline cpus are brought online in the guest context, it is safe
    to count them as online. Nodeinfo today discounts these offline cpus from
    cpu count/topology calclulation, and the nodeinfo output is not of any help
    and the host appears overcommited when it is actually not.
    
    The patch carefully counts those offline threads whose primary threads are
    online. The host topology displayed by the nodeinfo is also fixed when the
    host is in valid kvm state.
    Signed-off-by: NShivaprasad G Bhat <sbhat@linux.vnet.ibm.com>
    Signed-off-by: NAndrea Bolognani <abologna@redhat.com>
    014208c4
libvirt_private.syms 54.9 KB