[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Calculating real cpu usage of Xen domains correctly!
Ian Pratt wrote: I think what's happening is that cpu_time is being updated even if the domain is blocked. Looking in xen/common/schedule.c:__enter_scheduler(), the update to cpu_time is still being updated even if SCHED_OP(do_block, prev) is invoked. Honestly, I don't understand this code that well but I made the following change:I would expect it to return the cumulative total CPU time in ns that the domain has received. --- schedule.c~ 2005-02-21 22:19:31.000000000 -0600 +++ schedule.c 2005-02-23 19:44:52.000000000 -0600 @@ -389,13 +389,15 @@ { /* This check is needed to avoid a race condition. */ if ( event_pending(prev) ) + { clear_bit(EDF_BLOCKED, &prev->ed_flags); - else + prev->cpu_time += now - prev->lastschd; + } else SCHED_OP(do_block, prev); + } else { + prev->cpu_time += now - prev->lastschd; } - prev->cpu_time += now - prev->lastschd; - /* get policy-specific decision on scheduling... */ next_slice = ops.do_schedule(now);And cpu_time contained what it should contain. Before, if I ran a simple infinite loop in a domU (while true; do true; done), it would report dom0 and domU both using 99% of the CPU. Now it shows domU using 99% of the CPU and dom0 using 1%. This is probably the wrong way to fix this problem but hopefully it makes the right solution obvious to someone who knows this code better. Regards, Anthony Liguori Signed-off-by: Anthony Liguori If it doesn't I'd regard it as a bug. Seperately, we should make sure we store a total cumulative time that each CPU has been executing domains (other than idle). Ian ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |