From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 16 Nov 2010 09:51:01 +0100 From: Martin Schwidefsky Subject: Re: [RFC][PATCH v2 4/7] taskstats: Add per task steal time accounting Message-ID: <20101116095101.5d86d1e5@mschwide.boeblingen.de.ibm.com> In-Reply-To: <1289844524.2109.524.camel@laptop> References: <20101111170352.732381138@linux.vnet.ibm.com> <20101111170815.024542355@linux.vnet.ibm.com> <1289677083.2109.167.camel@laptop> <20101115155057.15f3be35@mschwide.boeblingen.de.ibm.com> <1289833883.2109.494.camel@laptop> <20101115184206.4463fd05@mschwide.boeblingen.de.ibm.com> <1289843441.2109.520.camel@laptop> <20101115185923.1c353d07@mschwide.boeblingen.de.ibm.com> <1289844524.2109.524.camel@laptop> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-Archive: List-Post: To: Peter Zijlstra Cc: Michael Holzheu , Shailabh Nagar , Andrew Morton , Venkatesh Pallipadi , Suresh Siddha , Ingo Molnar , Oleg Nesterov , John stultz , Thomas Gleixner , Balbir Singh , Heiko Carstens , Roland McGrath , linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org, "jeremy.fitzhardinge" List-ID: On Mon, 15 Nov 2010 19:08:44 +0100 Peter Zijlstra wrote: > On Mon, 2010-11-15 at 18:59 +0100, Martin Schwidefsky wrote: > > Steal time per task is at least good for performance problem analysis. > > Sometimes knowing what is not the cause of a performance problem can help you > > tremendously. If a task is slow and has no steal time, well then the hypervisor > > is likely not the culprit. On the other hand if you do see lots of steal time > > for a task while the rest of the system doesn't cause any steal time can tell > > you something as well. That task might hit a specific function which causes > > hypervisor overhead. The usefulness depends on the situation, it is another > > data point which may or may not help you. > > If performance analysis is the only reason, why not add a tracepoint on > vcpu enter that reports the duration the vcpu was out for and use perf > to gather said data? It can tell you what process was running and what > instruction it was at when the vcpu went away. > > No need to add 40 bytes per task for that. Which vcpu enter? We usually have z/VM as our hypervisor and want to be able to do performance analysis with the data we gather inside the guest. There is no vcpu enter we could put a tracepoint on. We would have to put tracepoints on every possible interaction point with z/VM to get this data. To me it seems a lot simpler to add the per-task steal time. And if it is really the additional 40 bytes on x86 that bother you so much, we could put them behind #ifdef CONFIG_VIRT_CPU_ACCOUNTING. There already is one in the task_struct for prev_utime and prev_stime. -- blue skies, Martin. "Reality continues to ruin my life." - Calvin.