Message ID | 20210611124624.1404010-1-jingzhangos@google.com (mailing list archive) |
---|---|
Headers | show |
Series | KVM statistics data fd-based binary interface | expand |
On 11/06/21 14:46, Jing Zhang wrote: > This patchset provides a file descriptor for every VM and VCPU to read > KVM statistics data in binary format. > It is meant to provide a lightweight, flexible, scalable and efficient > lock-free solution for user space telemetry applications to pull the > statistics data periodically for large scale systems. The pulling > frequency could be as high as a few times per second. > In this patchset, every statistics data are treated to have some > attributes as below: > * architecture dependent or generic > * VM statistics data or VCPU statistics data > * type: cumulative, instantaneous, > * unit: none for simple counter, nanosecond, microsecond, > millisecond, second, Byte, KiByte, MiByte, GiByte. Clock Cycles > Since no lock/synchronization is used, the consistency between all > the statistics data is not guaranteed. That means not all statistics > data are read out at the exact same time, since the statistics date > are still being updated by KVM subsystems while they are read out. The binary interface itself looks good. Can you do a follow-up patch to remove struct kvm_stats_debugfs_item and avoid the duplication? I'd rather have that too before committing the code. Thanks, Paolo
Hi Paolo, On Fri, Jun 11, 2021 at 8:35 AM Paolo Bonzini <pbonzini@redhat.com> wrote: > > On 11/06/21 14:46, Jing Zhang wrote: > > This patchset provides a file descriptor for every VM and VCPU to read > > KVM statistics data in binary format. > > It is meant to provide a lightweight, flexible, scalable and efficient > > lock-free solution for user space telemetry applications to pull the > > statistics data periodically for large scale systems. The pulling > > frequency could be as high as a few times per second. > > In this patchset, every statistics data are treated to have some > > attributes as below: > > * architecture dependent or generic > > * VM statistics data or VCPU statistics data > > * type: cumulative, instantaneous, > > * unit: none for simple counter, nanosecond, microsecond, > > millisecond, second, Byte, KiByte, MiByte, GiByte. Clock Cycles > > Since no lock/synchronization is used, the consistency between all > > the statistics data is not guaranteed. That means not all statistics > > data are read out at the exact same time, since the statistics date > > are still being updated by KVM subsystems while they are read out. > > The binary interface itself looks good. Can you do a follow-up patch to > remove struct kvm_stats_debugfs_item and avoid the duplication? I'd > rather have that too before committing the code. > > Thanks, > > Paolo > Sure. Will do. Thanks, Jing