1. 18 Jan, 2011 1 commit
    • Paul Turner's avatar
      sched: Update effective_load() to use global share weights · 977dda7c
      Paul Turner authored
      Previously effective_load would approximate the global load weight present on
      a group taking advantage of:
      
      entity_weight = tg->shares ( lw / global_lw ), where entity_weight was provided
      by tg_shares_up.
      
      This worked (approximately) for an 'empty' (at tg level) cpu since we would
      place boost load representative of what a newly woken task would receive.
      
      However, now that load is instantaneously updated this assumption is no longer
      true and the load calculation is rather incorrect in this case.
      
      Fix this (and improve the general case) by re-writing effective_load to take
      advantage of the new shares distribution code.
      Signed-off-by: default avatarPaul Turner <pjt@google.com>
      Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      LKML-Reference: <20110115015817.069769529@google.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      977dda7c
  2. 07 Jan, 2011 6 commits
  3. 06 Jan, 2011 20 commits
  4. 05 Jan, 2011 13 commits
    • Jean Pihet's avatar
      tools, perf: Documentation for the power events API · 4b95f135
      Jean Pihet authored
      Provides documentation for the following:
      - the new power trace API,
      - the old (legacy) power trace API,
      - the DEPRECATED Kconfig option usage.
      Signed-off-by: default avatarJean Pihet <j-pihet@ti.com>
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      Cc: trenn@suse.de
      Cc: Len Brown <len.brown@intel.com>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Rafael J. Wysocki <rjw@sisk.pl>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: linux-pm@lists.linux-foundation.org
      LKML-Reference: <1294253342-29056-3-git-send-email-j-pihet@ti.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      4b95f135
    • Jean Pihet's avatar
      perf: Add calls to suspend trace point · 938cfed1
      Jean Pihet authored
      Uses the machine_suspend trace point, called from the
      generic kernel suspend_devices_and_enter function.
      Signed-off-by: default avatarJean Pihet <j-pihet@ti.com>
      Acked-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Cc: Arjan van de Ven <arjan@linux.intel.com>
      CC: Thomas Renninger <trenn@suse.de>
      Cc: Len Brown <len.brown@intel.com>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: linux-pm@lists.linux-foundation.org
      LKML-Reference: <1294253342-29056-2-git-send-email-j-pihet@ti.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      938cfed1
    • Arnaldo Carvalho de Melo's avatar
      perf script: Make some lists static · eccdfe2d
      Arnaldo Carvalho de Melo authored
      Not accessed outside builtin-script, so make them static.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      eccdfe2d
    • Arnaldo Carvalho de Melo's avatar
      perf script: Use the default lost event handler · 6d8afb56
      Arnaldo Carvalho de Melo authored
      That already does what was being done here. The warning is now unconditionally
      given by __perf_session__process_pipe_events, just like for non pipe processing.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      6d8afb56
    • Arnaldo Carvalho de Melo's avatar
      perf session: Warn about errors when processing pipe events too · 11095994
      Arnaldo Carvalho de Melo authored
      Just like we do at __perf_session__process_events
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      11095994
    • Stephane Eranian's avatar
      perf tools: Fix perf_event.h header usage · d030260a
      Stephane Eranian authored
      This patch fixes the usage of the perf_event.h header file
      between command modules and the supporting code in util.
      
      It is necessary to ensure that ALL files use the SAME
      perf_event.h header from the kernel source tree.
      
      There were a couple of #include <linux/perf_event.h> mixed
      with #include "../../perf_event.h".
      
      This caused issues on some distros because of mismatch
      in the layout of struct perf_event_attr. That eventually
      led perf stat to segfault.
      
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Robert Richter <robert.richter@amd.com>
      Cc: Stephane Eranian <eranian@gmail.com>
      LKML-Reference: <4d233cf0.2308e30a.7b00.ffffc187@mx.google.com>
      Signed-off-by: default avatarStephane Eranian <eranian@google.com>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      d030260a
    • Arnaldo Carvalho de Melo's avatar
      perf test: Clarify some error reports in the open syscall test · 454a3bbe
      Arnaldo Carvalho de Melo authored
      Rebooted my devel machine, first thing I ran was perf test, that expects
      debugfs to be mounted, test fails. Be more clear about it.
      
      Also add missing newlines and add more informative message when
      sys_perf_event_open fails.
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Mike Galbraith <efault@gmx.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Tom Zanussi <tzanussi@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      454a3bbe
    • Huang Ying's avatar
      x86, NMI: Add touch_nmi_watchdog to io_check_error delay · 74d91e3c
      Huang Ying authored
      Prevent the long delay in io_check_error making NMI watchdog
      timeout.
      Signed-off-by: default avatarHuang Ying <ying.huang@intel.com>
      Signed-off-by: default avatarDon Zickus <dzickus@redhat.com>
      LKML-Reference: <1294198689-15447-3-git-send-email-dzickus@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      74d91e3c
    • Dongdong Deng's avatar
      x86: Avoid calling arch_trigger_all_cpu_backtrace() at the same time · 554ec063
      Dongdong Deng authored
      The spin_lock_debug/rcu_cpu_stall detector uses
      trigger_all_cpu_backtrace() to dump cpu backtrace.
      Therefore it is possible that trigger_all_cpu_backtrace()
      could be called at the same time on different CPUs, which
      triggers and 'unknown reason NMI' warning. The following case
      illustrates the problem:
      
            CPU1                    CPU2                     ...   CPU N
                             trigger_all_cpu_backtrace()
                             set "backtrace_mask" to cpu mask
                                     |
      generate NMI interrupts  generate NMI interrupts       ...
          \                          |                               /
           \                         |                              /
      
      The "backtrace_mask" will be cleaned by the first NMI interrupt
      at nmi_watchdog_tick(), then the following NMI interrupts
      generated by other cpus's arch_trigger_all_cpu_backtrace() will
      be taken as unknown reason NMI interrupts.
      
      This patch uses a test_and_set to avoid the problem, and stop
      the arch_trigger_all_cpu_backtrace() from calling to avoid
      dumping a double cpu backtrace info when there is already a
      trigger_all_cpu_backtrace() in progress.
      Signed-off-by: default avatarDongdong Deng <dongdong.deng@windriver.com>
      Reviewed-by: default avatarBruce Ashfield <bruce.ashfield@windriver.com>
      Cc: fweisbec@gmail.com
      LKML-Reference: <1294198689-15447-2-git-send-email-dzickus@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarDon Zickus <dzickus@redhat.com>
      554ec063
    • Don Zickus's avatar
      x86: Only call smp_processor_id in non-preempt cases · 9ab181fa
      Don Zickus authored
      There are some paths that walk the die_chain with preemption on.
      Make sure we are in an NMI call before we start doing anything.
      
      This was triggered by do_general_protection calling notify_die
      with DIE_GPF.
      Reported-by: default avatarJan Kiszka <jan.kiszka@web.de>
      Signed-off-by: default avatarDon Zickus <dzickus@redhat.com>
      LKML-Reference: <1294198689-15447-1-git-send-email-dzickus@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      9ab181fa
    • Ingo Molnar's avatar
      Merge commit 'v2.6.37' into perf/core · aef1b9ce
      Ingo Molnar authored
      Merge reason: Add the final .37 tree.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      aef1b9ce
    • NeilBrown's avatar
      sched: Change wait_for_completion_*_timeout() to return a signed long · 6bf41237
      NeilBrown authored
      wait_for_completion_*_timeout() can return:
      
         0: if the wait timed out
       -ve: if the wait was interrupted
       +ve: if the completion was completed.
      
      As they currently return an 'unsigned long', the last two cases
      are not easily distinguished which can easily result in buggy
      code, as is the case for the recently added
      wait_for_completion_interruptible_timeout() call in
      net/sunrpc/cache.c
      
      So change them both to return 'long'.  As MAX_SCHEDULE_TIMEOUT
      is LONG_MAX, a large +ve return value should never overflow.
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: J.  Bruce Fields <bfields@fieldses.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <20110105125016.64ccab0e@notabene.brown>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      6bf41237
    • Ingo Molnar's avatar
      Merge commit 'v2.6.37' into sched/core · 27066fd4
      Ingo Molnar authored
      Merge reason: Merge the final .37 tree.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      27066fd4