From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeremy Fitzhardinge Subject: Re: [RFC v2 4/7] change kernel accounting to include steal time Date: Mon, 30 Aug 2010 15:56:09 -0700 Message-ID: <4C7C3709.3040706@goop.org> References: <1283184391-7785-1-git-send-email-glommer@redhat.com> <1283184391-7785-2-git-send-email-glommer@redhat.com> <1283184391-7785-3-git-send-email-glommer@redhat.com> <1283184391-7785-4-git-send-email-glommer@redhat.com> <1283184391-7785-5-git-send-email-glommer@redhat.com> <1283184391-7785-6-git-send-email-glommer@redhat.com> <1283184391-7785-7-git-send-email-glommer@redhat.com> <1283184391-7785-8-git-send-email-glommer@redhat.com> <4C7BEA9C.1060605@goop.org> <4C7BFACD.4030409@redhat.com> <4C7C0187.7040401@goop.org> <4C7C03CB.1060700@redhat.com> <1283196005.1820.1340.camel@laptop> <4C7C0A57.2010906@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: Peter Zijlstra , Glauber Costa , kvm@vger.kernel.org, avi@redhat.com, zamsden@redhat.com, mtosatti@redhat.com, mingo@elte.hu To: Rik van Riel Return-path: Received: from claw.goop.org ([74.207.240.146]:54215 "EHLO claw.goop.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752584Ab0H3W4L (ORCPT ); Mon, 30 Aug 2010 18:56:11 -0400 In-Reply-To: <4C7C0A57.2010906@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 08/30/2010 12:45 PM, Rik van Riel wrote: > On 08/30/2010 03:20 PM, Peter Zijlstra wrote: >> On Mon, 2010-08-30 at 15:17 -0400, Rik van Riel wrote: >>> >>> When time is accounted as steal time, it is NOT accounted as >>> to the current process user/system/..., which in turn should >>> help it in the scheduler. >>> >>> Am I overlooking something? >> >> Yeah, the scheduler doesn't care about the user/system time accounting >> at all... :-) > > Uh oh. This would seem like something we'll want to fix > in an architecture independent way, so s390, etc. also > benefit from it. > > I can see this being a real problem when the host and guest > OS have the same time slice - which is quite possible since > they may both be the same version of Linux. > > Guest 1, alternating between processes A and B, may end up > with process A getting a lot of actual CPU time, and process > B being scheduled in when the VCPU itself is not running... Yep. I'd been trying to do that with sched_clock games, but that never worked out. I think it basically comes down to adding "sched_clock_unstolen()" which the scheduler can use to measure time a process spends running, and sched_clock() for measuring sleep times. In the normal case, sched_clock_unstolen() would be the same as sched_clock(). J