Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754670Ab3EVHxc (ORCPT ); Wed, 22 May 2013 03:53:32 -0400 Received: from 173-166-109-252-newengland.hfc.comcastbusiness.net ([173.166.109.252]:54902 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752799Ab3EVHx3 (ORCPT ); Wed, 22 May 2013 03:53:29 -0400 Date: Wed, 22 May 2013 09:53:05 +0200 From: Peter Zijlstra To: Anshuman Khandual Cc: linuxppc-dev@ozlabs.org, linux-kernel@vger.kernel.org, michael@ellerman.id.au, mikey@neuling.org, eranian@google.com, ak@linux.intel.com, mingo@kernel.org Subject: Re: [PATCH 2/5] powerpc, perf: Enable conditional branch filter for POWER8 Message-ID: <20130522075305.GN26912@twins.programming.kicks-ass.net> References: <1369203761-12649-1-git-send-email-khandual@linux.vnet.ibm.com> <1369203761-12649-3-git-send-email-khandual@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1369203761-12649-3-git-send-email-khandual@linux.vnet.ibm.com> User-Agent: Mutt/1.5.21 (2012-12-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1860 Lines: 50 On Wed, May 22, 2013 at 11:52:38AM +0530, Anshuman Khandual wrote: > Enables conditional branch filter support for POWER8 > utilizing MMCRA register based filter and also invalidates > a BHRB branch filter combination involving conditional > branches. > > Signed-off-by: Anshuman Khandual > --- > arch/powerpc/perf/power8-pmu.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/arch/powerpc/perf/power8-pmu.c b/arch/powerpc/perf/power8-pmu.c > index 8ed323d..e60b38f 100644 > --- a/arch/powerpc/perf/power8-pmu.c > +++ b/arch/powerpc/perf/power8-pmu.c > @@ -548,11 +548,21 @@ static u64 power8_bhrb_filter_map(u64 branch_sample_type) > if (branch_sample_type & PERF_SAMPLE_BRANCH_IND_CALL) > return -1; > > + /* Invalid branch filter combination - HW does not support */ > + if ((branch_sample_type & PERF_SAMPLE_BRANCH_ANY_CALL) && > + (branch_sample_type & PERF_SAMPLE_BRANCH_COND)) > + return -1; > + > if (branch_sample_type & PERF_SAMPLE_BRANCH_ANY_CALL) { > pmu_bhrb_filter |= POWER8_MMCRA_IFM1; > return pmu_bhrb_filter; > } > > + if (branch_sample_type & PERF_SAMPLE_BRANCH_COND) { > + pmu_bhrb_filter |= POWER8_MMCRA_IFM3; > + return pmu_bhrb_filter; > + } > + > /* Every thing else is unsupported */ > return -1; > } So I suppose you've seen what x86 does in this case? ;-) I'm not saying you _have_ to do the software filter, but I would like the changelog to at least mention the issue. In fact, I suppose that should have been in the original patches :/ as this patch series only adds the conditional branch support. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/