Re: [PATCH v2 02/11] perf core: export swevent hrtimer helpers

From: Cody P Schafer
Date: Tue Feb 25 2014 - 16:38:58 EST


On 02/25/2014 02:20 AM, Peter Zijlstra wrote:
On Tue, Feb 25, 2014 at 02:33:26PM +1100, Michael Ellerman wrote:
On Fri, 2014-14-02 at 22:02:06 UTC, Cody P Schafer wrote:
Export the swevent hrtimer helpers currently only used in events/core.c
to allow the addition of architecture specific sw-like pmus.

Peter, Ingo, can we get your ACK on this please?

How are they used? I saw some usage in patch 9 or so; but its not
explained anywhere. All patches have non-existent Changelogs and the few
comments that are there are pretty hardware specific.

So please do tell; what do you need this for?

From this patch's change log:

Export the swevent hrtimer helpers currently only used in events/core.c to allow the addition of architecture specific sw-like pmus.

The key part here is "architecture specific sw-like pmus", where the announcement explains why these pmus are sw-like:

The counters supplied by these interfaces are continually counting and never
need to be (and cannot be) disabled or enabled. They additionally do not
generate any interrupts. This makes them in some regards similar to software
counters, and as a result their implimentation shares some common code (which
an initial patch exposes) with the sw counters.

Essentially, these pmus just provide access to a big array of counters which don't generate interrupts, and are all 64bit (and assumed to never overflow). Rather than duplicate the code that we already have for managing timing when reading from counters that don't have interrupts (the functions that are exposed by this patch), I've reused it.

--
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/