1. 17 5月, 2010 6 次提交
    • W
      ARM: 6072/1: oprofile: use perf-events framework as backend · 8c1fc96f
      Will Deacon 提交于
      There are currently two hardware performance monitoring subsystems in
      the kernel for ARM: OProfile and perf-events. This creates the
      following problems:
      
      1.) Duplicate PMU accessor code. Inevitable code drift may lead to
      bugs in one framework that are fixed in the other.
      
      2.) Locking issues. OProfile doesn't reprogram hardware counters
      between profiling runs if the events to be monitored have not been
      changed. This means that other profiling frameworks cannot use the
      counters if OProfile is in use.
      
      3.) Due to differences in the two frameworks, it may not be possible to
      compare the results obtained by OProfile with those obtained by perf.
      
      This patch removes the OProfile PMU driver code and replaces it with
      calls to perf, therefore solving the issues mentioned above.
      
      The only userspace-visible change is the lack of SCU counter support
      for 11MPCore. This is currently unsupported by OProfile userspace tools anyway and therefore shouldn't cause any problems.
      
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Robert Richter <robert.richter@amd.com>
      Cc: Jamie Iles <jamie.iles@picochip.com>
      Cc: Jean Pihet <jpihet@mvista.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      8c1fc96f
    • W
      ARM: 6071/1: perf-events: allow modules to query the number of hardware counters · 929f5199
      Will Deacon 提交于
      For OProfile to initialise oprofilefs correctly, it needs to know
      the number of counters it can represent.
      
      This patch adds a function to the ARM perf-events backend to return
      the number of hardware counters available for the current PMU.
      
      Cc: Jamie Iles <jamie.iles@picochip.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      929f5199
    • W
      ARM: 6070/1: perf-events: add support for xscale PMUs · 49e6a32f
      Will Deacon 提交于
      The perf-events framework for ARM only supports v6 and v7 cores.
      
      This patch adds support for xscale v1 and v2 PMUs to perf, based on the
      OProfile drivers in arch/arm/oprofile/op_model_xscale.c
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      49e6a32f
    • W
      ARM: 6069/1: perf-events: use numeric ID to identify PMU · 181193f3
      Will Deacon 提交于
      The ARM perf-events framework provides support for a number of different
      PMUs using struct arm_pmu. The char *name field of this struct can be
      used to identify the PMU, but this is cumbersome if used outside of perf.
      
      This patch replaces the name string for a PMU with an enum, which holds
      a unique ID for the PMU being represented. This ID can be used to index
      an array of names within perf, so no functionality is lost. The presence
      of the ID field, allows other kernel subsystems [currently oprofile] to
      use their own mappings for the PMU name.
      
      Cc: Jean Pihet <jpihet@mvista.com>
      Acked-by: NJamie Iles <jamie.iles@picochip.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      181193f3
    • W
      ARM: 6064/1: pmu: register IRQs at runtime · 49c006b9
      Will Deacon 提交于
      The current PMU infrastructure for ARM requires that the IRQs for the PMU
      device are fixed at compile time and are selected based on the ARCH_ or MACH_ flags. This has the disadvantage of tying the Kernel down to a
      particular board as far as profiling is concerned.
      
      This patch replaces the compile-time IRQ registration with a runtime mechanism which allows the IRQs to be registered with the framework as
      a platform_device.
      
      A further advantage of this change is that there is scope for registering
      different types of performance counters in the future by changing the id
      of the platform_device and attaching different resources to it.
      Acked-by: NJamie Iles <jamie.iles@picochip.com>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      49c006b9
    • R
      ARM: Optionally allow ARMv6 to use 'normal, bufferable' memory for DMA · 47ab0dee
      Russell King 提交于
      Provide a configuration option to allow the ARMv6 to use normal
      bufferable memory for coherent DMA.  This option is forced to 'y'
      for ARMv7, and offered as a configuration option on ARMv6.
      
      Enabling this option requires drivers to have the necessary barriers
      to ensure that data in DMA coherent memory is visible prior to the
      DMA operation commencing.
      Reviewed-by: NCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      47ab0dee
  2. 15 5月, 2010 10 次提交
  3. 13 5月, 2010 2 次提交
  4. 07 5月, 2010 6 次提交
  5. 05 5月, 2010 14 次提交
  6. 04 5月, 2010 2 次提交