Bug 985980

Summary: virsh vcpuinfo output is difficult to read with large cpu counts
Product: Red Hat Enterprise Linux 7 Reporter: Dave Allan <dallan>
Component: libvirtAssignee: Ján Tomko <jtomko>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: low Docs Contact:
Priority: unspecified    
Version: 7.0CC: dyuan, eblake, gsun, honzhang, jmiao, jtomko, rbalakri
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libvirt-1.2.7-1.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-05 07:20:56 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Dave Allan 2013-07-18 16:30:17 UTC
Description of problem:
When large numbers of CPUs are present, virsh vcpuinfo's linear representation of affinity is not very useful.  (See example output below)  I'd like to see an option for a representation based on ranges.  I'm not a UI guy, but I'd prefer something along the lines of:

virsh vcpuinfo --affinityranges someguest
VCPU:           0
CPU:            0
State:          running
CPU time:       5.6s
CPU Affinity:   y: 0-3
                -: 4-127

Current output:

virsh vcpuinfo someguest
VCPU:           0
CPU:            0
State:          running
CPU time:       5.6s
CPU Affinity: yyyy----------------------------------------------------------------------------------------------------------------------------

Comment 1 Eric Blake 2013-07-18 19:06:57 UTC
For back-compat reason, we'd have to provide the new compressed output only when the user adds a flag, but the idea has merit.

Comment 2 Ján Tomko 2014-06-05 11:26:35 UTC
Upstream patch:
https://www.redhat.com/archives/libvir-list/2014-June/msg00259.html

Comment 3 Ján Tomko 2014-06-06 12:42:38 UTC
Now pushed upstream:
commit a3173fef9dde49d7577e283109281e43d399b3a2
Author:     Ján Tomko <jtomko>
CommitDate: 2014-06-06 14:35:19 +0200

    Implement pretty flag for vcpuinfo and nodecpumap
    
    Report CPU affinities / online CPUs in human-readable form when
    this flag is present:
    
    Before:
    CPU Affinity:   y-yy
    
    After:
    CPU Affinity:   0,2-3 (out of 4)
    
    https://bugzilla.redhat.com/show_bug.cgi?id=985980

git describe: v1.2.5-68-ga3173fe

Comment 6 hongming 2014-11-28 07:03:45 UTC
verify it as follows. The result is expected. Move its status to VERIFIED.

[root@localhost ~]# virsh vcpupin r7 1 0,2-3

[root@localhost ~]# virsh vcpuinfo r7
VCPU:           0
CPU:            0
State:          running
CPU time:       8.1s
CPU Affinity:   yyyy

VCPU:           1
CPU:            0
State:          running
CPU time:       1.6s
CPU Affinity:   y-yy

VCPU:           2
CPU:            1
State:          running
CPU time:       1.7s
CPU Affinity:   yyyy

VCPU:           3
CPU:            2
State:          running
CPU time:       2.1s
CPU Affinity:   yyyy

[root@localhost ~]# virsh vcpuinfo r7 --pretty
VCPU:           0
CPU:            3
State:          running
CPU time:       8.1s
CPU Affinity:   0-3 (out of 4)

VCPU:           1
CPU:            0
State:          running
CPU time:       1.7s
CPU Affinity:   0,2-3 (out of 4)

VCPU:           2
CPU:            0
State:          running
CPU time:       1.7s
CPU Affinity:   0-3 (out of 4)

VCPU:           3
CPU:            1
State:          running
CPU time:       2.1s
CPU Affinity:   0-3 (out of 4)

Comment 8 errata-xmlrpc 2015-03-05 07:20:56 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHSA-2015-0323.html