Re: Performance Events hangs with Intel P4 system

From: Ingo Molnar
Date: Fri May 14 2010 - 07:57:14 EST



* Lin Ming <ming.m.lin@xxxxxxxxx> wrote:

> p4_event_bind::cntr is "unsigned char".
> But p4_next_cntr has return type of "int".
> So the explicit conversion is needed to get the correct result.

> @@ -780,7 +780,7 @@ static int p4_pmu_schedule_events(struct cpu_hw_events *cpuc, int n, int *assign
> if (unlikely(escr_idx == -1))
> goto done;
>
> - if (hwc->idx != -1 && !p4_should_swap_ts(hwc->config, cpu)) {
> + if (hwc->idx != (unsigned char)-1 && !p4_should_swap_ts(hwc->config, cpu)) {

That cast is _extremely_ ugly. Please fix the signedness of the types instead.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/