From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752869AbcBJQnm (ORCPT ); Wed, 10 Feb 2016 11:43:42 -0500 Received: from mail.skyhub.de ([78.46.96.112]:59077 "EHLO mail.skyhub.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751894AbcBJQnl (ORCPT ); Wed, 10 Feb 2016 11:43:41 -0500 Date: Wed, 10 Feb 2016 17:43:36 +0100 From: Borislav Petkov To: Suravee Suthikulpanit Cc: joro@8bytes.org, peterz@infradead.org, mingo@redhat.com, acme@kernel.org, andihartmann@freenet.de, linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org Subject: Re: [PATCH V3 4/5] perf/amd/iommu: Introduce get_iommu_bnk_cnt_evt_idx Message-ID: <20160210164336.GH23914@pd.tnic> References: <1455058435-8716-1-git-send-email-Suravee.Suthikulpanit@amd.com> <1455058435-8716-5-git-send-email-Suravee.Suthikulpanit@amd.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <1455058435-8716-5-git-send-email-Suravee.Suthikulpanit@amd.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Feb 09, 2016 at 04:53:54PM -0600, Suravee Suthikulpanit wrote: > Introduce a helper function to calculate bit-index for assigning > performance counter assignment. > > Signed-off-by: Suravee Suthikulpanit > --- > arch/x86/kernel/cpu/perf_event_amd_iommu.c | 20 +++++++++++++++----- > 1 file changed, 15 insertions(+), 5 deletions(-) > > diff --git a/arch/x86/kernel/cpu/perf_event_amd_iommu.c b/arch/x86/kernel/cpu/perf_event_amd_iommu.c > index 2d59e20..791bbcf 100644 > --- a/arch/x86/kernel/cpu/perf_event_amd_iommu.c > +++ b/arch/x86/kernel/cpu/perf_event_amd_iommu.c > @@ -145,18 +145,28 @@ static struct attribute_group amd_iommu_cpumask_group = { > > /*---------------------------------------------*/ > > +static inline > +int get_iommu_bnk_cnt_evt_idx(struct perf_amd_iommu *perf_iommu, > + int iommu_index, int bank_index, > + int cntr_index) > +{ > + int cntrs_per_iommu = perf_iommu->max_banks * perf_iommu->max_counters; > + int index = (perf_iommu->max_counters * bank_index) + cntr_index; > + > + return (cntrs_per_iommu * iommu_index) + index; > +} > + > static int get_next_avail_iommu_bnk_cntr(struct perf_amd_iommu *perf_iommu) > { > unsigned long flags; > int shift, bank, cntr, retval; > - int max_banks = perf_iommu->max_banks; > - int max_cntrs = perf_iommu->max_counters; > > raw_spin_lock_irqsave(&perf_iommu->lock, flags); > > - for (bank = 0, shift = 0; bank < max_banks; bank++) { > - for (cntr = 0; cntr < max_cntrs; cntr++) { > - shift = bank + (bank*3) + cntr; > + for (bank = 0, shift = 0; bank < perf_iommu->max_banks; bank++) { > + for (cntr = 0; cntr < perf_iommu->max_counters; cntr++) { > + shift = get_iommu_bnk_cnt_evt_idx(perf_iommu, > + 0, bank, cntr); You don't need to break this line - let it stick out. -- Regards/Gruss, Boris. ECO tip #101: Trim your mails when you reply.