Avi Kivity wrote:
[...]
The normal user/system accounting has the same issue, no? Whereever we
happen to land (kernel or user) gets the whole tick.
So I think it is okay to have the same limitation for guest time.
So this is how it looks like.
PATCH 1 and 2 are always a prerequisite.
+ tmp = cputime_to_cputime64(cputime);
+ if (p->flags & PF_VCPU) {
+ p->utime = cputime_add(p->utime, cputime);
+ p->gtime = cputime_add(p->gtime, cputime);
+
+ cpustat->guest = cputime64_add(cpustat->guest, tmp);
+ cpustat->user = cputime64_add(cpustat->user, tmp);
+
+ p->flags &= ~PF_VCPU;
+
+ return;
+ }
+