On 10/03/21 16:51, Marc Zyngier wrote:
+ kvm_for_each_vcpu(j, vcpu, kvm) {
+ pdata = data + VM_STAT_COUNT;
+ for (i = 0; i < VCPU_STAT_COUNT; i++, pdata++)
+ *pdata += *((u64 *)&vcpu->stat + i);
Do you really need the in-kernel copy? Why not directly organise the
data structures in a way that would allow a bulk copy using
copy_to_user()?
The result is built by summing per-vCPU counters, so that the counter
updates are fast and do not require a lock. So consistency basically
cannot be guaranteed.
Paolo