Christian Borntraeger wrote: > Avi pointed out, that my first patch was broken, here is the 2nd try. > I tested the patch on s390 with CONFIG_VIRT_CPU_ACCOUNTING and on x86_64. > Seems to work. > > Currently the scheduler checks for PF_VCPU to decide if this > timeslice has to be accounted as guest time. On s390 host > interrupts are not disabled during guest execution. This causes > theses interrupts to be accounted as guest time if > CONFIG_VIRT_CPU_ACCOUNTING is set. > Solution is to check if an interrupt triggered account_system_time. > As the tick is timer interrupt based, we have to subtract > hardirq_offset. > > Avi, Ingo, Laurent, feedback is welcome. > > CC: Ingo Molnar <[EMAIL PROTECTED]> > CC: Avi Kivity <[EMAIL PROTECTED]> > CC: Laurent Vivier <[EMAIL PROTECTED]> > Signed-off-by: Christian Borntraeger <[EMAIL PROTECTED]> > --- > kernel/sched.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > Index: kvm/kernel/sched.c > =================================================================== > --- kvm.orig/kernel/sched.c > +++ kvm/kernel/sched.c > @@ -3395,10 +3395,8 @@ void account_system_time(struct task_str > struct rq *rq = this_rq(); > cputime64_t tmp; > > - if (p->flags & PF_VCPU) { > - account_guest_time(p, cputime); > - return; > - } > + if ((p->flags & PF_VCPU) && (irq_count() - hardirq_offset == 0)) > + return account_guest_time(p, cputime); > > p->stime = cputime_add(p->stime, cputime); > >
What's irq_count()? Is it defined to ignore the timer tick? Or is that hardirq_offset? -- error compiling committee.c: too many arguments to function ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel