<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/arm64/kernel/perf_event.c, branch linux-4.13.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.13.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.13.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2017-05-30T11:15:14Z</updated>
<entry>
<title>arm64: perf: Extend event config for ARMv8.1</title>
<updated>2017-05-30T11:15:14Z</updated>
<author>
<name>Shaokun Zhang</name>
</author>
<published>2017-05-24T07:43:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fe7296e19221c6dc125a06b52e28ccbdb76d9b58'/>
<id>urn:sha1:fe7296e19221c6dc125a06b52e28ccbdb76d9b58</id>
<content type='text'>
Perf has supported ARMv8.1 feature with 16-bit evtCount filed [see c210ae8
arm64: perf: Extend event mask for ARMv8.1], event config should be
extended to 16-bit too, otherwise, if use -e event_name whose event_code
is more than 0x3ff, pmu_config_term will return -EINVAL because function
pmu_format_max_value depends on event config.

This patch extends event config to 16-bit.

Signed-off-by: Shaokun Zhang &lt;zhangshaokun@hisilicon.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: perf: Ignore exclude_hv when kernel is running in HYP</title>
<updated>2017-05-15T17:30:37Z</updated>
<author>
<name>Ganapatrao Kulkarni</name>
</author>
<published>2017-05-02T16:29:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=78a19cfdf37d19002c83c8790853c1cc10feccdc'/>
<id>urn:sha1:78a19cfdf37d19002c83c8790853c1cc10feccdc</id>
<content type='text'>
commit d98ecdaca296 ("arm64: perf: Count EL2 events if the kernel is
running in HYP") returns -EINVAL when perf system call perf_event_open is
called with exclude_hv != exclude_kernel. This change breaks applications
on VHE enabled ARMv8.1 platforms. The issue was observed with HHVM
application, which calls perf_event_open with exclude_hv = 1 and
exclude_kernel = 0.

There is no separate hypervisor privilege level when VHE is enabled, the
host kernel runs at EL2. So when VHE is enabled, we should ignore
exclude_hv from the application. This behaviour is consistent with PowerPC
where the exclude_hv is ignored when the hypervisor is not present and with
x86 where this flag is ignored.

Signed-off-by: Ganapatrao Kulkarni &lt;ganapatrao.kulkarni@cavium.com&gt;
[will: added comment to justify the behaviour of exclude_hv]
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: pmu: Wire-up Cortex A53 L2 cache events and DTLB refills</title>
<updated>2017-04-28T14:23:36Z</updated>
<author>
<name>Florian Fainelli</name>
</author>
<published>2017-04-20T19:05:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f5337346cd8fe1b105f319b4b7fb06fe25c54480'/>
<id>urn:sha1:f5337346cd8fe1b105f319b4b7fb06fe25c54480</id>
<content type='text'>
Add missing L2 cache events: read/write accesses and misses, as well as
the DTLB refills.

Acked-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: pmuv3: handle pmuv3+</title>
<updated>2017-04-25T14:12:59Z</updated>
<author>
<name>Mark Rutland</name>
</author>
<published>2017-04-25T11:08:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=faa9a08397f5034efad75b06879ac0ead83bd714'/>
<id>urn:sha1:faa9a08397f5034efad75b06879ac0ead83bd714</id>
<content type='text'>
Commit f1b36dcb5c316c27 ("arm64: pmuv3: handle !PMUv3 when probing") is
a little too restrictive, and prevents the use of of backwards
compatible PMUv3 extenstions, which have a PMUver value other than 1.

For instance, ARMv8.1 PMU extensions (as implemented by ThunderX2) are
reported with PMUver value 4.

Per the usual ID register principles, at least 0x1-0x7 imply a
PMUv3-compatible PMU. It's not currently clear whether 0x8-0xe imply the
same.

For the time being, treat the value as signed, and with 0x1-0x7 treated
as meaning PMUv3 is implemented. This may be relaxed by future patches.

Reported-by: Jayachandran C &lt;jnair@caviumnetworks.com&gt;
Tested-by: Jayachandran C &lt;jnair@caviumnetworks.com&gt;
Acked-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Mark Rutland &lt;mark.rutland@arm.com&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: pmuv3: use arm_pmu ACPI framework</title>
<updated>2017-04-11T15:29:54Z</updated>
<author>
<name>Mark Rutland</name>
</author>
<published>2017-04-11T08:39:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f00fa5f4163b40c3ec8590d9a7bd845c19bf8d16'/>
<id>urn:sha1:f00fa5f4163b40c3ec8590d9a7bd845c19bf8d16</id>
<content type='text'>
Now that we have a framework to handle the ACPI bits, make the PMUv3
code use this. The framework is a little different to what was
originally envisaged, and we can drop some unused support code in the
process of moving over to it.

Signed-off-by: Mark Rutland &lt;mark.rutland@arm.com&gt;
Tested-by: Jeremy Linton &lt;jeremy.linton@arm.com&gt;
[will: make armv8_pmu_driver_init static]
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: pmuv3: handle !PMUv3 when probing</title>
<updated>2017-04-11T15:29:54Z</updated>
<author>
<name>Mark Rutland</name>
</author>
<published>2017-04-11T08:39:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f1b36dcb5c316c276ca6faedc50d89d97f90d960'/>
<id>urn:sha1:f1b36dcb5c316c276ca6faedc50d89d97f90d960</id>
<content type='text'>
When probing via ACPI, we won't know up-front whether a CPU has a PMUv3
compatible PMU. Thus we need to consult ID registers during probe time.

This patch updates our PMUv3 probing code to test for the presence of
PMUv3 functionality before touching an PMUv3-specific registers, and
before updating the struct arm_pmu with PMUv3 data.

When a PMUv3-compatible PMU is not present, probing will return -ENODEV.

Signed-off-by: Mark Rutland &lt;mark.rutland@arm.com&gt;
Cc: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
<entry>
<title>KVM: arm64: Fix the issues when guest PMCCFILTR is configured</title>
<updated>2016-11-18T09:06:58Z</updated>
<author>
<name>Wei Huang</name>
</author>
<published>2016-11-16T17:09:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b112c84a6ff035271d41d548c10215f18443d6a6'/>
<id>urn:sha1:b112c84a6ff035271d41d548c10215f18443d6a6</id>
<content type='text'>
KVM calls kvm_pmu_set_counter_event_type() when PMCCFILTR is configured.
But this function can't deals with PMCCFILTR correctly because the evtCount
bits of PMCCFILTR, which is reserved 0, conflits with the SW_INCR event
type of other PMXEVTYPER&lt;n&gt; registers. To fix it, when eventsel == 0, this
function shouldn't return immediately; instead it needs to check further
if select_idx is ARMV8_PMU_CYCLE_IDX.

Another issue is that KVM shouldn't copy the eventsel bits of PMCCFILTER
blindly to attr.config. Instead it ought to convert the request to the
"cpu cycle" event type (i.e. 0x11).

To support this patch and to prevent duplicated definitions, a limited
set of ARMv8 perf event types were relocated from perf_event.c to
asm/perf_event.h.

Cc: stable@vger.kernel.org # 4.6+
Acked-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Wei Huang &lt;wei@redhat.com&gt;
Signed-off-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: pmu: Hoist pmu platform device name</title>
<updated>2016-09-16T16:11:34Z</updated>
<author>
<name>Jeremy Linton</name>
</author>
<published>2016-09-14T22:32:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=85023b2e1325826edf5d226a9cb4d809ed1e2024'/>
<id>urn:sha1:85023b2e1325826edf5d226a9cb4d809ed1e2024</id>
<content type='text'>
Move the PMU name into a common header file so it may
be referenced by other users.

Signed-off-by: Jeremy Linton &lt;jeremy.linton@arm.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: pmu: Probe default hw/cache counters</title>
<updated>2016-09-16T16:11:33Z</updated>
<author>
<name>Jeremy Linton</name>
</author>
<published>2016-09-14T22:32:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=236b9b91cd1255a9cae9d7ef6b755efe37013c1f'/>
<id>urn:sha1:236b9b91cd1255a9cae9d7ef6b755efe37013c1f</id>
<content type='text'>
ARMv8 machines can identify the micro/arch defined counters
that are available on a machine. Add all these counters to the
default armv8 perf map. At run-time disable the counters which
are not available on the given PMU.

Signed-off-by: Jeremy Linton &lt;jeremy.linton@arm.com&gt;
Acked-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
<entry>
<title>arm64: pmu: add fallback probe table</title>
<updated>2016-09-16T16:11:33Z</updated>
<author>
<name>Mark Salter</name>
</author>
<published>2016-09-14T22:32:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dbee3a74ef2c73acc4eb31cee7a60d5e46767a41'/>
<id>urn:sha1:dbee3a74ef2c73acc4eb31cee7a60d5e46767a41</id>
<content type='text'>
In preparation for ACPI support, add a pmu_probe_info table to
the arm_pmu_device_probe() call. This table gets used when
probing in the absence of a devicetree node for PMU.

Signed-off-by: Mark Salter &lt;msalter@redhat.com&gt;
Signed-off-by: Jeremy Linton &lt;jeremy.linton@arm.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
</content>
</entry>
</feed>
