[Cbe-oss-dev] [RFC, Patch 1/1] OProfile for Cell: Initial profiling support -- new patch
Heikki Orsila
shd at zakalwe.fi
Fri Nov 17 01:02:31 EST 2006
On Wed, Nov 15, 2006 at 12:51:08PM -0600, Maynard Johnson wrote:
> +/* This function is called once for all cpus combined */
> +static void
> +cell_reg_setup(struct op_counter_config *ctr,
> + struct op_system_config *sys, int num_ctrs)
> +{
> [SNIP]
> + for (i = 0; i < num_ctrs; ++i) {
> +
> + if ((ctr[i].event >= 2100) && (ctr[i].event <= 2111))
> + pmc_cntrl[1][i].evnts = ctr[i].event + 19;
> + else if (ctr[i].event == 2203)
> + pmc_cntrl[1][i].evnts = ctr[i].event;
> + else if ((ctr[i].event >= 2200) && (ctr[i].event <= 2215))
> + pmc_cntrl[1][i].evnts = ctr[i].event + 16;
> + else
> + pmc_cntrl[1][i].evnts = ctr[i].event;
> +
I think the previous code would be more readable with a switch()
statement.
switch (ctr[i].event) {
case 2100 ... 2111:
pmc_cntrl[1][i] = ctr[i].event + 19;
break;
case 2200 ... 2202:
case 2204 ... 2215:
pmc_cntrl[1][i] = ctr[i].event + 16;
break;
default:
pmc_cntrl[1][i] = ctr[i].event;
}
- Heikki
More information about the cbe-oss-dev
mailing list