From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jes Sorensen Subject: Re: KVM PMU virtualization Date: Fri, 26 Feb 2010 14:37:23 +0100 Message-ID: <4B87CE93.1070906@redhat.com> References: <4B86917C.4070102@redhat.com> <20100225173423.GB4246@8bytes.org> <20100226084241.GF15885@elte.hu> <4B87987A.2020302@redhat.com> <20100226104437.GB7463@elte.hu> <4B87AF44.9090702@redhat.com> <20100226114217.GI7463@elte.hu> <4B87B5DE.30503@redhat.com> <20100226120750.GA11578@elte.hu> <4B87BC74.7050207@redhat.com> <20100226133149.GA23422@elte.hu> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Avi Kivity , Joerg Roedel , KVM General , Peter Zijlstra , Zachary Amsden , Gleb Natapov , ming.m.lin@intel.com, "Zhang, Yanmin" , Peter Zijlstra , Thomas Gleixner , "H. Peter Anvin" , Arjan van de Ven , Fr??d??ric Weisbecker , Arnaldo Carvalho de Melo To: Ingo Molnar Return-path: Received: from mx1.redhat.com ([209.132.183.28]:42831 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S936237Ab0BZNiH (ORCPT ); Fri, 26 Feb 2010 08:38:07 -0500 In-Reply-To: <20100226133149.GA23422@elte.hu> Sender: kvm-owner@vger.kernel.org List-ID: On 02/26/10 14:31, Ingo Molnar wrote: > You are missing two big things wrt. compatibility here: > > 1) The first upgrade overhead a one time overhead only. > > 2) Once a Linux guest has upgraded, it will work in the future, with _any_ > future CPU - _without_ having to upgrade the guest! > > Dont you see the advantage of that? You can instrument an old system on new > hardware, without having to upgrade that guest for the new CPU support. That would only work if you are guaranteed to be able to emulate old hardware on new hardware. Not going to be feasible, so then we are in a real mess. > With the 'steal the PMU' messy approach the guest OS has to be upgraded to the > new CPU type all the time. Ad infinitum. The way the Perfmon architecture is specified by Intel, that is what we are stuck with. It's not going to be possible via software emulation to count cache misses, unless you run it in a micro architecture emulator. Jes