1. 27 10月, 2009 1 次提交
  2. 14 10月, 2009 3 次提交
    • A
      powerpc: Fix hypervisor TLB batching · b6dcde5c
      Anton Blanchard 提交于
      Profiling of a page fault scalability microbenchmark shows flush_hash_range
      is not calling the batch hpte invalidate hcall (H_BULK_REMOVE).
      
      It turns out we have a duplicate firmware feature for hcall-bulk and the
      current setup code stops after finding the first match. This meant we never
      batch and always do individual invalidates.
      
      The patch below removes the duplicate and shifts FW_FEATURE_CMO to close
      the gap. With the patch applied the single threaded page fault rate improves
      from 217169 to 238755 per second on a POWER5 test box, a 10% improvement.
      Signed-off-by: NAnton Blanchard <anton@samba.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      b6dcde5c
    • M
      powerpc: Fix memory leak in axon_msi.c · aee7a283
      Michael Ellerman 提交于
      cppcheck found a memory leak in axon_msi, if dcr_base or dcr_len are zero,
      we have already allocated msic, so we should free it in the error path.
      Signed-off-by: NEric Sesterhenn <eric.sesterhenn@lsexperts.de>
      Acked-by: NMichael Ellerman <michael@ellerman.id.au>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      aee7a283
    • B
      powerpc/pmac: Fix issues with sleep on some powerbooks · 11a50873
      Benjamin Herrenschmidt 提交于
      Since the change of how interrupts are disabled during suspend,
      certain PowerBook models started exhibiting various issues during
      suspend or resume from sleep.
      
      I finally tracked it down to the code that runs various "platform"
      functions (kind of little scripts extracted from the device-tree),
      which uses our i2c and PMU drivers expecting interrutps to work,
      and at a time where with the new scheme, they have been disabled.
      
      This causes timeouts internally which for some reason results in
      the PMU being unable to see the trackpad, among other issues, really
      it depends on the machine. Most of the time, we fail to properly adjust
      some clocks for suspend/resume so the results are not always
      predictable.
      
      This patch fixes it by using IRQF_TIMER for both the PMU and the I2C
      interrupts. I prefer doing it this way than moving the call sites since
      I really want those platform functions to still be called after all
      drivers (and before sysdevs).
      
      We also do a slight cleanup to via-pmu.c driver to make sure the
      ADB autopoll mask is handled correctly when doing bus resets
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      11a50873
  3. 02 10月, 2009 1 次提交
  4. 28 9月, 2009 1 次提交
  5. 24 9月, 2009 2 次提交
  6. 23 9月, 2009 1 次提交
  7. 22 9月, 2009 2 次提交
  8. 21 9月, 2009 2 次提交
    • A
      trivial: fix typo "for for" in multiple files · 411c9403
      Anand Gadiyar 提交于
      trivial: fix typo "for for" in multiple files
      Signed-off-by: NAnand Gadiyar <gadiyar@ti.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      411c9403
    • I
      perf: Do the big rename: Performance Counters -> Performance Events · cdd6c482
      Ingo Molnar 提交于
      Bye-bye Performance Counters, welcome Performance Events!
      
      In the past few months the perfcounters subsystem has grown out its
      initial role of counting hardware events, and has become (and is
      becoming) a much broader generic event enumeration, reporting, logging,
      monitoring, analysis facility.
      
      Naming its core object 'perf_counter' and naming the subsystem
      'perfcounters' has become more and more of a misnomer. With pending
      code like hw-breakpoints support the 'counter' name is less and
      less appropriate.
      
      All in one, we've decided to rename the subsystem to 'performance
      events' and to propagate this rename through all fields, variables
      and API names. (in an ABI compatible fashion)
      
      The word 'event' is also a bit shorter than 'counter' - which makes
      it slightly more convenient to write/handle as well.
      
      Thanks goes to Stephane Eranian who first observed this misnomer and
      suggested a rename.
      
      User-space tooling and ABI compatibility is not affected - this patch
      should be function-invariant. (Also, defconfigs were not touched to
      keep the size down.)
      
      This patch has been generated via the following script:
      
        FILES=$(find * -type f | grep -vE 'oprofile|[^K]config')
      
        sed -i \
          -e 's/PERF_EVENT_/PERF_RECORD_/g' \
          -e 's/PERF_COUNTER/PERF_EVENT/g' \
          -e 's/perf_counter/perf_event/g' \
          -e 's/nb_counters/nb_events/g' \
          -e 's/swcounter/swevent/g' \
          -e 's/tpcounter_event/tp_event/g' \
          $FILES
      
        for N in $(find . -name perf_counter.[ch]); do
          M=$(echo $N | sed 's/perf_counter/perf_event/g')
          mv $N $M
        done
      
        FILES=$(find . -name perf_event.*)
      
        sed -i \
          -e 's/COUNTER_MASK/REG_MASK/g' \
          -e 's/COUNTER/EVENT/g' \
          -e 's/\<event\>/event_id/g' \
          -e 's/counter/event/g' \
          -e 's/Counter/Event/g' \
          $FILES
      
      ... to keep it as correct as possible. This script can also be
      used by anyone who has pending perfcounters patches - it converts
      a Linux kernel tree over to the new naming. We tried to time this
      change to the point in time where the amount of pending patches
      is the smallest: the end of the merge window.
      
      Namespace clashes were fixed up in a preparatory patch - and some
      stylistic fallout will be fixed up in a subsequent patch.
      
      ( NOTE: 'counters' are still the proper terminology when we deal
        with hardware registers - and these sed scripts are a bit
        over-eager in renaming them. I've undone some of that, but
        in case there's something left where 'counter' would be
        better than 'event' we can undo that on an individual basis
        instead of touching an otherwise nicely automated patch. )
      Suggested-by: NStephane Eranian <eranian@google.com>
      Acked-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Acked-by: NPaul Mackerras <paulus@samba.org>
      Reviewed-by: NArjan van de Ven <arjan@linux.intel.com>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: <linux-arch@vger.kernel.org>
      LKML-Reference: <new-submission>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      cdd6c482
  9. 19 9月, 2009 1 次提交
  10. 11 9月, 2009 3 次提交
    • B
      powerpc/iseries: Fix oops reading from /proc/iSeries/mf/*/cmdline · 1d6ed322
      Benjamin Herrenschmidt 提交于
      That code uses dma_mapping_error() with a NULL device, which is
      a bad idea :-) The proper fix might be to start using some kind
      of pseudo device for all these low level mappings with the
      hypervisor but that will be for another day. Since it directly
      calls into the low level iommu code, I see no problem in having
      it directly test against DMA_ERROR_CODE instead of using the
      accessors with a NULL argument for now.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      1d6ed322
    • P
      powerpc: Fix bug where perf_counters breaks oprofile · a6dbf93a
      Paul Mackerras 提交于
      Currently there is a bug where if you use oprofile on a pSeries
      machine, then use perf_counters, then use oprofile again, oprofile
      will not work correctly; it will lose the PMU configuration the next
      time the hypervisor does a partition context switch, and thereafter
      won't count anything.
      
      Maynard Johnson identified the sequence causing the problem:
      - oprofile setup calls ppc_enable_pmcs(), which calls
        pseries_lpar_enable_pmcs, which tells the hypervisor that we want
        to use the PMU, and sets the "PMU in use" flag in the lppaca.
        This flag tells the hypervisor whether it needs to save and restore
        the PMU config.
      - The perf_counter code sets and clears the "PMU in use" flag directly
        as it context-switches the PMU between tasks, and leaves it clear
        when it finishes.
      - oprofile setup, called for a new oprofile run, calls ppc_enable_pmcs,
        which does nothing because it has already been called.  In particular
        it doesn't set the "PMU in use" flag.
      
      This fixes the problem by arranging for ppc_enable_pmcs to always set
      the "PMU in use" flag.  It makes the perf_counter code call
      ppc_enable_pmcs also rather than calling the lower-level function
      directly, and removes the setting of the "PMU in use" flag from
      pseries_lpar_enable_pmcs, since that is now done in its caller.
      
      This also removes the declaration of pasemi_enable_pmcs because it
      isn't defined anywhere.
      Reported-by: NMaynard Johnson <mpjohn@us.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      Cc: <stable@kernel.org)
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      a6dbf93a
    • K
      powerpc/85xx: Fix SMP compile error and allow NULL for smp_ops · 757cbd46
      Kumar Gala 提交于
      The following commit introduced a compile error since it removed
      the implementation of smp_85xx_basic_setup:
      
      commit 77c0a700
      Author: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Date:   Fri Aug 28 14:25:04 2009 +1000
      
          powerpc: Properly start decrementer on BookE secondary CPUs
      
      Make it so that smp_ops probe() and setup_cpu() can be set to NULL.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      757cbd46
  11. 10 9月, 2009 1 次提交
  12. 02 9月, 2009 3 次提交
  13. 31 8月, 2009 2 次提交
  14. 28 8月, 2009 4 次提交
  15. 27 8月, 2009 2 次提交
  16. 25 8月, 2009 5 次提交
  17. 20 8月, 2009 6 次提交