1. 11 Apr, 2012 1 commit
  2. 07 Apr, 2012 8 commits
  3. 05 Apr, 2012 5 commits
  4. 04 Apr, 2012 1 commit
  5. 03 Apr, 2012 1 commit
  6. 31 Mar, 2012 2 commits
  7. 30 Mar, 2012 1 commit
  8. 29 Mar, 2012 2 commits
  9. 28 Mar, 2012 2 commits
  10. 27 Mar, 2012 3 commits
  11. 26 Mar, 2012 4 commits
    • Stephane Eranian's avatar
      perf tools: Fix bug in raw sample parsing · fa30c964
      Stephane Eranian authored
      In perf_event__parse_sample(), the array variable was not incremented
      by the amount of data used by the raw_data.
      
      That was okay until we added PERF_SAMPLE_BRANCH_STACK which depends on
      the array variable pointing to the beginning of the branch stack data.
      
      But that was not the case if branch stack was combined with raw mode
      sampling. That led to bogus branch stack addresses and count.
      
      The bug would show up with:
      $ perf record -R -b foo
      
      This patch fixes the problem by correctly moving the array pointer
      forward for RAW samples.
      Signed-off-by: default avatarStephane Eranian <eranian@google.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20120317222317.GA8803@quad
      [ committer note: Fix also later submitted by Jiri Olsa ]
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      fa30c964
    • Frederic Weisbecker's avatar
      perf tools: Fix display of first level of callchains · 6d4818c5
      Frederic Weisbecker authored
      The callchain stdio mode display was written using a sorted by symbol
      report. In this mode we have only one callchain root per hist so we
      forgot to handle cases where we have multiple callchain root, as in per
      dso sorting for example.
      
      Fix this by handling these roots like any other branch, with the hist as
      the parent.
      
      Before:
      
           1.97%  libpthread-2.12.1.so
                  |
                  --- __libc_write
                      create_worker
                      bench_sched_messaging
                      cmd_bench
                      run_builtin
                      main
                      __libc_start_main
      
                  |
                  --- __libc_read
                      create_worker
                      bench_sched_messaging
                      cmd_bench
                      run_builtin
                      main
                      __libc_start_main
      
      After:
      
           1.97%  libpthread-2.12.1.so
                  |
                  |--36.97%-- __libc_write
                  |          create_worker
                  |          bench_sched_messaging
                  |          cmd_bench
                  |          run_builtin
                  |          main
                  |          __libc_start_main
                  |
                  |--31.47%-- __libc_read
                  |          create_worker
                  |          bench_sched_messaging
                  |          cmd_bench
                  |          run_builtin
                  |          main
                  |          __libc_start_main
                 ...
      
      Single roots keep their entry without percentage because they have
      the same overhead than the hist they refer to. ie: 100% in fractal
      mode and the percentage of the hist in graph mode:
      
           0.00%  [k] reschedule_interrupt
                  |
                  --- default_idle
                      amd_e400_idle
                      cpu_idle
                      start_secondary
      Reported-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/1332526010-15400-1-git-send-email-fweisbec@gmail.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      6d4818c5
    • Jiri Olsa's avatar
      perf tools: Switch module.h into export.h · 2c86bf17
      Jiri Olsa authored
      When merged to Linus's latest tree the perf build is broken
      due to following change in lib/rbtree.c object:
      
        lib: reduce the use of module.h wherever possible
        commit 8bc3bcc9
        Author: Paul Gortmaker <paul.gortmaker@windriver.com>
        Date:   Wed Nov 16 21:29:17 2011 -0500
      
      We need to move module.h header into export.h.
      Signed-off-by: default avatarJiri Olsa <jolsa@redhat.com>
      Cc: acme@redhat.com
      Cc: a.p.zijlstra@chello.nl
      Cc: paulus@samba.org
      Cc: cjashfor@linux.vnet.ibm.com
      Cc: fweisbec@gmail.com
      Link: http://lkml.kernel.org/r/1332753425-3299-1-git-send-email-jolsa@redhat.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      2c86bf17
    • Ingo Molnar's avatar
      Merge branch 'linus' into perf/urgent · 7fd52392
      Ingo Molnar authored
      Merge reason: we need to fix a non-trivial merge conflict.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      7fd52392
  12. 24 Mar, 2012 10 commits
    • Linus Torvalds's avatar
      Merge tag 'stable/for-linus-3.4-tag-two' of... · e22057c8
      Linus Torvalds authored
      Merge tag 'stable/for-linus-3.4-tag-two' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen
      
      Pull more xen updates from Konrad Rzeszutek Wilk:
       "One tiny feature that accidentally got lost in the initial git pull:
         * Add fast-EOI acking of interrupts (clear a bit instead of
           hypercall)
        And bug-fixes:
         * Fix CPU bring-up code missing a call to notify other subsystems.
         * Fix reading /sys/hypervisor even if PVonHVM drivers are not loaded.
         * In Xen ACPI processor driver: remove too verbose WARN messages, fix
           up the Kconfig dependency to be a module by default, and add
           dependency on CPU_FREQ.
         * Disable CPU frequency drivers from loading when booting under Xen
           (as we want the Xen ACPI processor to be used instead).
         * Cleanups in tmem code."
      
      * tag 'stable/for-linus-3.4-tag-two' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        xen/acpi: Fix Kconfig dependency on CPU_FREQ
        xen: initialize platform-pci even if xen_emul_unplug=never
        xen/smp: Fix bringup bug in AP code.
        xen/acpi: Remove the WARN's as they just create noise.
        xen/tmem: cleanup
        xen: support pirq_eoi_map
        xen/acpi-processor: Do not depend on CPU frequency scaling drivers.
        xen/cpufreq: Disable the cpu frequency scaling drivers from loading.
        provide disable_cpufreq() function to disable the API.
      e22057c8
    • Rik van Riel's avatar
      Fix potential endless loop in kswapd when compaction is not enabled · 496b919b
      Rik van Riel authored
      We should only test compaction_suitable if the kernel is built with
      CONFIG_COMPACTION, otherwise the stub compaction_suitable function will
      always return COMPACT_SKIPPED and send kswapd into an infinite loop.
      Reported-by: default avatarAnton Blanchard <anton@samba.org>
      Signed-off-by: default avatarRik van Riel <riel@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      496b919b
    • Linus Torvalds's avatar
      Merge tag 'device-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux · 250f6715
      Linus Torvalds authored
      Pull <linux/device.h> avoidance patches from Paul Gortmaker:
       "Nearly every subsystem has some kind of header with a proto like:
      
      	void foo(struct device *dev);
      
        and yet there is no reason for most of these guys to care about the
        sub fields within the device struct.  This allows us to significantly
        reduce the scope of headers including headers.  For this instance, a
        reduction of about 40% is achieved by replacing the include with the
        simple fact that the device is some kind of a struct.
      
        Unlike the much larger module.h cleanup, this one is simply two
        commits.  One to fix the implicit <linux/device.h> users, and then one
        to delete the device.h includes from the linux/include/ dir wherever
        possible."
      
      * tag 'device-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
        device.h: audit and cleanup users in main include dir
        device.h: cleanup users outside of linux/include (C files)
      250f6715
    • Linus Torvalds's avatar
      Merge tag 'module-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux · 11bcb328
      Linus Torvalds authored
      Pull cleanup of fs/ and lib/ users of module.h from Paul Gortmaker:
       "Fix up files in fs/ and lib/ dirs to only use module.h if they really
        need it.
      
        These are trivial in scope vs the work done previously.  We now have
        things where any few remaining cleanups can be farmed out to arch or
        subsystem maintainers, and I have done so when possible.  What is
        remaining here represents the bits that don't clearly lie within a
        single arch/subsystem boundary, like the fs dir and the lib dir.
      
        Some duplicate includes arising from overlapping fixes from
        independent subsystem maintainer submissions are also quashed."
      
      Fix up trivial conflicts due to clashes with other include file cleanups
      (including some due to the previous bug.h cleanup pull).
      
      * tag 'module-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
        lib: reduce the use of module.h wherever possible
        fs: reduce the use of module.h wherever possible
        includecheck: delete any duplicate instances of module.h
      11bcb328
    • Linus Torvalds's avatar
      Merge tag 'bug-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux · ed2d265d
      Linus Torvalds authored
      Pull <linux/bug.h> cleanup from Paul Gortmaker:
       "The changes shown here are to unify linux's BUG support under the one
        <linux/bug.h> file.  Due to historical reasons, we have some BUG code
        in bug.h and some in kernel.h -- i.e.  the support for BUILD_BUG in
        linux/kernel.h predates the addition of linux/bug.h, but old code in
        kernel.h wasn't moved to bug.h at that time.  As a band-aid, kernel.h
        was including <asm/bug.h> to pseudo link them.
      
        This has caused confusion[1] and general yuck/WTF[2] reactions.  Here
        is an example that violates the principle of least surprise:
      
            CC      lib/string.o
            lib/string.c: In function 'strlcat':
            lib/string.c:225:2: error: implicit declaration of function 'BUILD_BUG_ON'
            make[2]: *** [lib/string.o] Error 1
            $
            $ grep linux/bug.h lib/string.c
            #include <linux/bug.h>
            $
      
        We've included <linux/bug.h> for the BUG infrastructure and yet we
        still get a compile fail! [We've not kernel.h for BUILD_BUG_ON.] Ugh -
        very confusing for someone who is new to kernel development.
      
        With the above in mind, the goals of this changeset are:
      
        1) find and fix any include/*.h files that were relying on the
           implicit presence of BUG code.
        2) find and fix any C files that were consuming kernel.h and hence
           relying on implicitly getting some/all BUG code.
        3) Move the BUG related code living in kernel.h to <linux/bug.h>
        4) remove the asm/bug.h from kernel.h to finally break the chain.
      
        During development, the order was more like 3-4, build-test, 1-2.  But
        to ensure that git history for bisect doesn't get needless build
        failures introduced, the commits have been reorderd to fix the problem
        areas in advance.
      
      	[1]  https://lkml.org/lkml/2012/1/3/90
      	[2]  https://lkml.org/lkml/2012/1/17/414"
      
      Fix up conflicts (new radeon file, reiserfs header cleanups) as per Paul
      and linux-next.
      
      * tag 'bug-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:
        kernel.h: doesn't explicitly use bug.h, so don't include it.
        bug: consolidate BUILD_BUG_ON with other bug code
        BUG: headers with BUG/BUG_ON etc. need linux/bug.h
        bug.h: add include of it to various implicit C users
        lib: fix implicit users of kernel.h for TAINT_WARN
        spinlock: macroize assert_spin_locked to avoid bug.h dependency
        x86: relocate get/set debugreg fcns to include/asm/debugreg.
      ed2d265d
    • Konrad Rzeszutek Wilk's avatar
      xen/acpi: Fix Kconfig dependency on CPU_FREQ · df7a3ee2
      Konrad Rzeszutek Wilk authored
      The functions: "acpi_processor_*" sound like they depend on CONFIG_ACPI_PROCESSOR
      but in reality they are exposed when CONFIG_CPU_FREQ=[y|m]. As such
      update the Kconfig to have this dependency and fix compile issues:
      
      ERROR: "acpi_processor_unregister_performance" [drivers/xen/xen-acpi-processor.ko] undefined!
      ERROR: "acpi_processor_notify_smm" [drivers/xen/xen-acpi-processor.ko] undefined!
      ERROR: "acpi_processor_register_performance" [drivers/xen/xen-acpi-processor.ko] undefined!
      ERROR: "acpi_processor_preregister_performance" [drivers/xen/xen-acpi-processor.ko] undefined!
      
      Note: We still need the CONFIG_ACPI
      Reported-by: default avatarRandy Dunlap <rdunlap@xenotime.net>
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      df7a3ee2
    • Jiri Olsa's avatar
      perf: Move mmap page data_head offset assertion out of header · b01c3a00
      Jiri Olsa authored
      Having the build time assertion in header is making the perf
      build fail on x86 with:
      
        ../../include/linux/perf_event.h:411:32: error: variably modified \
      		‘__assert_mmap_data_head_offset’ at file scope [-Werror]
      
      I'm moving the build time validation out of the header, because
      I think it's better than to lessen the perf build warn/error
      check.
      Signed-off-by: default avatarJiri Olsa <jolsa@redhat.com>
      Cc: acme@redhat.com
      Cc: a.p.zijlstra@chello.nl
      Cc: paulus@samba.org
      Cc: cjashfor@linux.vnet.ibm.com
      Cc: fweisbec@gmail.com
      Link: http://lkml.kernel.org/r/1332513680-7870-1-git-send-email-jolsa@redhat.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      b01c3a00
    • Ingo Molnar's avatar
      Merge branch 'tip/perf/urgent' of... · 04a54d27
      Ingo Molnar authored
      Merge branch 'tip/perf/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/urgent
      04a54d27
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl · f1d38e42
      Linus Torvalds authored
      Pull sysctl updates from Eric Biederman:
      
       - Rewrite of sysctl for speed and clarity.
      
         Insert/remove/Lookup in sysctl are all now O(NlogN) operations, and
         are no longer bottlenecks in the process of adding and removing
         network devices.
      
         sysctl is now focused on being a filesystem instead of system call
         and the code can all be found in fs/proc/proc_sysctl.c.  Hopefully
         this means the code is now approachable.
      
         Much thanks is owed to Lucian Grinjincu for keeping at this until
         something was found that was usable.
      
       - The recent proc_sys_poll oops found by the fuzzer during hibernation
         is fixed.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl: (36 commits)
        sysctl: protect poll() in entries that may go away
        sysctl: Don't call sysctl_follow_link unless we are a link.
        sysctl: Comments to make the code clearer.
        sysctl: Correct error return from get_subdir
        sysctl: An easier to read version of find_subdir
        sysctl: fix memset parameters in setup_sysctl_set()
        sysctl: remove an unused variable
        sysctl: Add register_sysctl for normal sysctl users
        sysctl: Index sysctl directories with rbtrees.
        sysctl: Make the header lists per directory.
        sysctl: Move sysctl_check_dups into insert_header
        sysctl: Modify __register_sysctl_paths to take a set instead of a root and an nsproxy
        sysctl: Replace root_list with links between sysctl_table_sets.
        sysctl: Add sysctl_print_dir and use it in get_subdir
        sysctl: Stop requiring explicit management of sysctl directories
        sysctl: Add a root pointer to ctl_table_set
        sysctl: Rewrite proc_sys_readdir in terms of first_entry and next_entry
        sysctl: Rewrite proc_sys_lookup introducing find_entry and lookup_entry.
        sysctl: Normalize the root_table data structure.
        sysctl: Factor out insert_header and erase_header
        ...
      f1d38e42
    • Linus Torvalds's avatar
      Merge tag 'amd64-edac-updates-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · dae430c6
      Linus Torvalds authored
      Pull AMD64 EDAC fixes from Borislav Petkov:
       "A bunch of fixes/updates for the AMD side of EDAC including
      
         * MCE decoding updates
         * tree-wide EDAC sweep making pci_device_ids __devinitconst
         * Scrub rate API correction
         * two amd64_edac corrections for K8 boxes and sysfs csrow nodes"
      
      * tag 'amd64-edac-updates-for-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        MCE, AMD: Constify error tables
        MCE, AMD: Correct bank 5 error signatures
        MCE, AMD: Rework NB MCE signatures
        MCE, AMD: Correct VB data error description
        MCE, AMD: Correct ucode patch buffer description
        MCE, AMD: Correct some MC0 error types
        EDAC: Make pci_device_id tables __devinitconst.
        EDAC: Correct scrub rate API
        amd64_edac: Fix K8 revD and later chip select sizes
        amd64_edac: Fix missing csrows sysfs nodes
      dae430c6