From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Zijlstra Subject: Re: [PATCHv2 6/9] perf: expose perf capability to other modules. Date: Tue, 08 Nov 2011 15:12:27 +0100 Message-ID: <1320761547.11519.3.camel@twins> References: <1320323618-10375-1-git-send-email-gleb@redhat.com> <1320323618-10375-7-git-send-email-gleb@redhat.com> <1320674870.18053.37.camel@twins> <20111108124906.GO3225@redhat.com> <1320758811.11519.1.camel@twins> <20111108135432.GP3225@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT Cc: kvm@vger.kernel.org, avi@redhat.com, mtosatti@redhat.com, linux-kernel@vger.kernel.org, mingo@elte.hu, acme@ghostprotocols.net To: Gleb Natapov Return-path: In-Reply-To: <20111108135432.GP3225@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On Tue, 2011-11-08 at 15:54 +0200, Gleb Natapov wrote: > Isn't it better to introduce mapping between ebx bits and architectural > events and do for_each_set_bit loop? Probably, but I only thought of that halfway through ;-) > But I wouldn't want to introduce > patch as below as part of this series. Well, since you're actually going to frob cpuid10.ebx bits we had better deal with it properly. > I do not want to introduce > incidental regressions. For instance the patch below will introduce > regression on my Nehalem cpu. It reports value 0x44 in cpuid10.ebx which > means that unhalted_reference_cycles is not available (bit set means > event is not available), but event still works! Actually it is listed as > supported by the cpu in Table A-4 SDM 3B. Go figure. We'd better figure out why your machine says that. It could be we need another quirk for the nehalem machines, it could be your BIOS is smoking crack and there's nothing we can do about it.