1
linux/arch/mips
Deng-Cheng Zhu 404ff63840 MIPS, Perf-events: Work with the new PMU interface
This is the MIPS part of the following commits by Peter Zijlstra:

- a4eaf7f146
    perf: Rework the PMU methods

    Replace pmu::{enable,disable,start,stop,unthrottle} with
    pmu::{add,del,start,stop}, all of which take a flags argument.

    The new interface extends the capability to stop a counter while
    keeping it scheduled on the PMU. We replace the throttled state with
    the generic stopped state.

    This also allows us to efficiently stop/start counters over certain
    code paths (like IRQ handlers).

    It also allows scheduling a counter without it starting, allowing for
    a generic frozen state (useful for rotating stopped counters).

    The stopped state is implemented in two different ways, depending on
    how the architecture implemented the throttled state:

     1) We disable the counter:
        a) the pmu has per-counter enable bits, we flip that
        b) we program a NOP event, preserving the counter state

     2) We store the counter state and ignore all read/overflow events

For MIPSXX, the stopped state is implemented in the way of 1.b as above.

- 33696fc0d1
    perf: Per PMU disable

    Changes perf_disable() into perf_pmu_disable().

- 24cd7f54a0
    perf: Reduce perf_disable() usage

    Since the current perf_disable() usage is only an optimization,
    remove it for now. This eases the removal of the __weak
    hw_perf_enable() interface.

- b0a873ebbf
    perf: Register PMU implementations

    Simple registration interface for struct pmu, this provides the
    infrastructure for removing all the weak functions.

- 51b0fe3954
    perf: Deconstify struct pmu

    sed -ie 's/const struct pmu\>/struct pmu/g' `git grep -l "const struct pmu\>"`

Reported-by: Wu Zhangjin <wuzhangjin@gmail.com>
Acked-by: David Daney <ddaney@caviumnetworks.com>
Signed-off-by: Deng-Cheng Zhu <dengcheng.zhu@gmail.com>
To: a.p.zijlstra@chello.nl
To: fweisbec@gmail.com
To: will.deacon@arm.com
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Cc: wuzhangjin@gmail.com
Cc: paulus@samba.org
Cc: mingo@elte.hu
Cc: acme@redhat.com
Cc: dengcheng.zhu@gmail.com
Cc: matt@console-pimps.org
Cc: sshtylyov@mvista.com
Cc: ddaney@caviumnetworks.com
Patchwork: http://patchwork.linux-mips.org/patch/2012/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2011-03-14 21:07:26 +01:00
..
alchemy Merge branch 'master' into for-next 2010-12-22 18:57:02 +01:00
ar7 MIPS: AR7: Fix loops per jiffies on TNETD7200 devices 2010-12-16 18:10:56 +00:00
ath79 MIPS: ath79: add common WMAC device for AR913X based boards 2011-01-18 19:30:28 +01:00
bcm47xx MIPS: BCM47xx: Swap serial console if ttyS1 was specified. 2010-12-16 18:11:00 +00:00
bcm63xx MIPS: Decouple BMIPS CPU support from bcm47xx/bcm63xx SoC code 2010-10-29 19:08:50 +01:00
boot Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus 2010-10-18 13:10:36 -07:00
cavium-octeon MIPS: Add platform device and Kconfig for Octeon USB EHCI / OHCI 2010-10-29 19:08:45 +01:00
cobalt
configs kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
dec set_rtc_mmss: show warning message only once 2011-01-13 08:03:07 -08:00
emma MIPS: Ritually kill stupid printk. 2010-08-05 13:26:27 +01:00
fw
include/asm MIPS, Perf-events: Work with irq_work 2011-03-14 21:07:26 +01:00
jazz MIPS: Add missing #inclusions of <linux/irq.h> 2010-10-07 14:08:54 +01:00
jz4740 Merge branch 'master' into for-next 2010-12-22 18:57:02 +01:00
kernel MIPS, Perf-events: Work with the new PMU interface 2011-03-14 21:07:26 +01:00
lasat
lib MIPS: Separate two consecutive loads in memset.S 2010-12-16 18:10:57 +00:00
loongson MIPS: Fix always CONFIG_LOONGSON_UART_BASE=y 2011-03-14 21:07:26 +01:00
math-emu MIPS: Fix GCC-4.6 'set but not used' warning in ieee754int.h 2011-03-14 21:07:26 +01:00
mipssim
mm MIPS: Fix GCC-4.6 'set but not used' warning in arch/mips/mm/init.c 2011-03-14 21:07:26 +01:00
mti-malta tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
nxp/pnx8550/common
oprofile
pci MIPS: MSP: Fix MSP71xx bpci interrupt handler return value 2011-03-14 21:07:25 +01:00
pmc-sierra MIPS: Select R4K timer lib for all MSP platforms 2011-03-14 21:07:25 +01:00
pnx833x MIPS: Fix gen_nand probe structures contents 2010-08-12 12:22:49 +01:00
pnx8550 MIPS: PNX8550: Sort out machine halt, restart and powerdown functions. 2010-10-04 18:33:57 +01:00
power
powertv tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
rb532 MIPS: Add missing #inclusions of <linux/irq.h> 2010-10-07 14:08:54 +01:00
sgi-ip22
sgi-ip27
sgi-ip32
sibyte MIPS: Sibyte: Use vzalloc in sbbus profiler 2011-01-18 19:30:21 +01:00
sni MIPS: Add missing #inclusions of <linux/irq.h> 2010-10-07 14:08:54 +01:00
txx9 MIPS: Use printf extension %pR for struct resource 2011-01-18 19:30:21 +01:00
vr41xx MIPS: Add missing #inclusions of <linux/irq.h> 2010-10-07 14:08:54 +01:00
wrppmc
Kbuild MIPS: Repair Kbuild make clean breakage. 2010-10-19 18:32:39 +01:00
Kbuild.platforms MIPS: Add initial support for the Atheros AR71XX/AR724X/AR931X SoCs 2011-01-18 19:30:24 +01:00
Kconfig MIPS, Perf-events: Work with irq_work 2011-03-14 21:07:26 +01:00
Kconfig.debug kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
Makefile MIPS: Octeon: Apply CN63XXP1 errata workarounds. 2010-10-29 19:08:43 +01:00