[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <45F866AF.9060609@goop.org>
Date: Wed, 14 Mar 2007 14:18:39 -0700
From: Jeremy Fitzhardinge <jeremy@...p.org>
To: Dan Hecht <dhecht@...are.com>
CC: dwalker@...sta.com, cpufreq@...ts.linux.org.uk,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Con Kolivas <kernel@...ivas.org>,
Chris Wright <chrisw@...s-sol.org>,
Virtualization Mailing List <virtualization@...ts.osdl.org>,
john stultz <johnstul@...ibm.com>, Ingo Molnar <mingo@...e.hu>,
Thomas Gleixner <tglx@...utronix.de>, paulus@...ibm.com,
schwidefsky@...ibm.com, Rik van Riel <riel@...hat.com>
Subject: Re: Stolen and degraded time and schedulers
Dan Hecht wrote:
> On 03/14/2007 01:31 PM, Jeremy Fitzhardinge wrote:
>> Dan Hecht wrote:
>>> Sounds good. I don't see this in your patchset you sent yesterday
>>> though; did you add it after sending out those patches?
>>
>> Yes.
>>
>>> if so, could you forward the new patch? does it explicitly prevent
>>> stolen time from getting accounted as user/system time or does it
>>> just rely on NO_HZ mode sort of happening to work that way (since the
>>> one shot timer is skipped ahead for missed ticks)?
>>
>> Hm, not sure. It doesn't care how often it gets called; it just
>> accumulates results up to that point, but I'm not sure if the time would
>> get double accounted. Perhaps it doesn't matter when using
>> xen_sched_clock().
>>
>
> I think you might be double counting time in some cases.
> sched_clock() isn't really relevant to stolen time accounting (i.e.
> cpustat->steal).
>
> I think what you want is to make sure that the sum of the cputime
> passed to all of:
>
> account_user_time
> account_system_time
> account_steal_time
>
> adds up to the total amount of time that has passed. I think it is
> sort of working for you (i.e. doesn't always double count stolen
> ticks) since in NO_HZ mode, update_process_time (which calls
> account_user_time & account_system_time) happens to be skipped during
> periods of stolen time due to the hrtimer_forward()'ing of the one
> shot expiry.
OK, this will need a closer look.
BTW, what are the properties of the vmi read_available_cycles()? Is
that a per-cpu timer? If its used as the timebase for sched_clock, how
does recalc_task_prio not get a -ve sleep time?
J
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists