03 Aug, 2011

2 commits


01 Aug, 2011

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/brodo/cpupowerutils:
    cpupower: Do detect IDA (opportunistic processor performance) via cpuid
    cpupower: Show Intel turbo ratio support via ./cpupower frequency-info
    cpupowerutils: increase MAX_LINE_LEN
    cpupower: Rename package from cpupowerutils to cpupower
    cpupowerutils: Rename: libcpufreq->libcpupower
    cpupowerutils: use kernel version-derived version string
    cpupowerutils: utils - ConfigStyle bugfixes
    cpupowerutils: helpers - ConfigStyle bugfixes
    cpupowerutils: idle_monitor - ConfigStyle bugfixes
    cpupowerutils: lib - ConfigStyle bugfixes
    cpupowerutils: bench - ConfigStyle bugfixes
    cpupowerutils: do not update po files on each and every compile
    cpupowerutils: remove ccdv, use kernel quiet/verbose mechanism
    cpupowerutils: use COPYING, CREDITS from top-level directory
    cpupowerutils - cpufrequtils extended with quite some features

    Linus Torvalds
     

31 Jul, 2011

1 commit

  • * 'slub/lockless' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: (21 commits)
    slub: When allocating a new slab also prep the first object
    slub: disable interrupts in cmpxchg_double_slab when falling back to pagelock
    Avoid duplicate _count variables in page_struct
    Revert "SLUB: Fix build breakage in linux/mm_types.h"
    SLUB: Fix build breakage in linux/mm_types.h
    slub: slabinfo update for cmpxchg handling
    slub: Not necessary to check for empty slab on load_freelist
    slub: fast release on full slab
    slub: Add statistics for the case that the current slab does not match the node
    slub: Get rid of the another_slab label
    slub: Avoid disabling interrupts in free slowpath
    slub: Disable interrupts in free_debug processing
    slub: Invert locking and avoid slab lock
    slub: Rework allocator fastpaths
    slub: Pass kmem_cache struct to lock and freeze slab
    slub: explicit list_lock taking
    slub: Add cmpxchg_double_slab()
    mm: Rearrange struct page
    slub: Move page->frozen handling near where the page->freelist handling occurs
    slub: Do not use frozen page flag but a bit in the page counters
    ...

    Linus Torvalds
     

30 Jul, 2011

15 commits


27 Jul, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-ktest:
    ktest: Fix bug when ADD_CONFIG is set but MIN_CONFIG is not
    ktest: Keep fonud configs separate from default configs
    ktest: Add prompt to use OUTPUT_MIN_CONFIG
    ktest: Use Kconfig dependencies to shorten time to make min_config
    ktest: Add test type make_min_config
    ktest: Require one TEST_START in config file
    ktest: Add helper function to avoid duplicate code
    ktest: Add IGNORE_WARNINGS to ignore warnings in some patches
    ktest: Fix tar extracting of modules to target
    ktest: Have the testing tmp dir include machine name
    ktest: Add POST/PRE_BUILD options
    ktest: Allow initrd processing without modules defined
    ktest: Have LOG_FILE evaluate options as well
    ktest: Have wait on stdio honor bug timeout
    ktest: Implement our own force min config
    ktest: Add TEST_NAME option
    ktest: Add CONFIG_BISECT_GOOD option
    ktest: Add detection of triple faults
    ktest: Notify reason to break out of monitoring boot

    Linus Torvalds
     

24 Jul, 2011

1 commit

  • …us' and 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    um: Make rwsem.S depend on CONFIG_RWSEM_XCHGADD_ALGORITHM

    * 'core-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    debug: Make CONFIG_EXPERT select CONFIG_DEBUG_KERNEL to unhide debug options

    * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    genirq: Remove unused CHECK_IRQ_PER_CPU()

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    perf tools, x86: Fix 32-bit compile on 64-bit system

    Linus Torvalds
     

21 Jul, 2011

7 commits

  • Builds for 32-bit perf binaries on a 64-bit host currently fail
    with this error:

    [...]
    bench/../../../arch/x86/lib/memcpy_64.S: Assembler messages:
    bench/../../../arch/x86/lib/memcpy_64.S:29: Error: bad register name `%rdi'
    bench/../../../arch/x86/lib/memcpy_64.S:34: Error: invalid instruction suffix for `movs'
    bench/../../../arch/x86/lib/memcpy_64.S:50: Error: bad register name `%rdi'
    bench/../../../arch/x86/lib/memcpy_64.S:61: Error: bad register name `%rdi'
    ...

    The problem is the detection of the host arch without considering passed in
    flags. This change fixes 32-bit builds via:

    make EXTRA_CFLAGS=-m32

    and 64-bit builds still reference the memcpy_64.S.

    Signed-off-by: David Ahern
    Acked-by: Frederic Weisbecker
    Signed-off-by: Peter Zijlstra
    Cc:
    Link: http://lkml.kernel.org/r/1310420304-21452-1-git-send-email-dsahern@gmail.com
    Signed-off-by: Ingo Molnar

    David Ahern
     
  • Use preset debugfs path instead of hardcoded one.

    Signed-off-by: Jiri Olsa
    Cc: acme@redhat.com
    Cc: a.p.zijlstra@chello.nl
    Cc: paulus@samba.org
    Link: http://lkml.kernel.org/r/1310635534-4013-4-git-send-email-jolsa@redhat.com
    Signed-off-by: Ingo Molnar

    Jiri Olsa
     
  • Adding builtin test for parse_events function, which is
    responsible for parsing/processing "-e" option for
    stat/top/record commands.

    This new test will run within the builtin test command suite
    (perf test).

    One or several tests were added for each type of event.
    More tests could be added easily if needed.

    Signed-off-by: Jiri Olsa
    Cc: acme@redhat.com
    Cc: a.p.zijlstra@chello.nl
    Cc: paulus@samba.org
    Link: http://lkml.kernel.org/r/1310635534-4013-3-git-send-email-jolsa@redhat.com
    Signed-off-by: Ingo Molnar

    Jiri Olsa
     
  • Moving out the option parameter from parse_events function,
    and adding new parse_events_option function instead.

    The option parameter is used only to carry "struct perf_evlist"
    pointer for chaining new events. Putting it away, enable us
    to call parse_events from other places without using the
    option parameter.

    Signed-off-by: Jiri Olsa
    Cc: acme@redhat.com
    Cc: a.p.zijlstra@chello.nl
    Cc: paulus@samba.org
    Link: http://lkml.kernel.org/r/1310635534-4013-2-git-send-email-jolsa@redhat.com
    Signed-off-by: Ingo Molnar

    Jiri Olsa
     
  • Non-callchain path is using al.addr which prints as:
    openssl 14564 17672.003587: 7862d _x86_64_AES_encrypt_compact

    This should be sample->ip to print as:
    openssl 14564 17672.003587: 3f7867862d _x86_64_AES_encrypt_compact

    Signed-off-by: David Ahern
    Acked-by: Frederic Weisbecker
    Cc: acme@ghostprotocols.net
    Cc: peterz@infradead.org
    Cc: paulus@samba.org
    Link: http://lkml.kernel.org/r/1306768587-15376-1-git-send-email-dsahern@gmail.com
    Signed-off-by: Ingo Molnar

    David Ahern
     
  • The perf_event_attr struct has two __u32's at the top and
    they need to be swapped individually.

    With this change I was able to analyze a perf.data collected in a
    32-bit PPC VM on an x86 system. I tested both 32-bit and 64-bit
    binaries for the Intel analysis side; both read the PPC perf.data
    file correctly.

    -v2:
    - changed the existing perf_event__attr_swap() to swap only elements
    of perf_event_attr and exported it for use in swapping the
    attributes in the file header
    - updated swap_ops used for processing events

    Signed-off-by: David Ahern
    Acked-by: Frederic Weisbecker
    Cc: acme@ghostprotocols.net
    Cc: peterz@infradead.org
    Cc: paulus@samba.org
    Cc:
    Link: http://lkml.kernel.org/r/1310754849-12474-1-git-send-email-dsahern@gmail.com
    Signed-off-by: Ingo Molnar

    David Ahern
     
  • Add "node" as a simple alias for NODE cache events.

    The addition of NODE cache events broke the parse_alias
    function, so any mismatched event caused the segfault, like:

    # ./perf stat -e krava ls

    The hw_cache/hw_cache_op/hw_cache_result arrays needs to follow
    PERF_COUNT_HW_CACHE_*MAX enums. Adding those MAXs to be size
    of those arrays, so possible ommision in future wil not lead to
    segfault.

    Adding read/write/prefetch as allowed operations for node cache
    event.

    Signed-off-by: Jiri Olsa
    Acked-by: Peter Zijlstra
    Cc: acme@redhat.com
    Link: http://lkml.kernel.org/r/20110713205818.GB7827@jolsa.brq.redhat.com
    Signed-off-by: Ingo Molnar

    Jiri Olsa
     

16 Jul, 2011

12 commits

  • Looks like I was going to stick the brand string
    in the verbose ouput, but didn't get around to it.

    Signed-off-by: Len Brown

    Len Brown
     
  • The MIN_CONFIG is a single config that is considered to have all the
    configs that are required to boot the box.

    ADD_CONFIG is a list of configs that we add that may contain configs
    known to be broken (set off) or just configs that we want every box to
    have and this can include shared configs.

    If a config has no MIN_CONFIG defined, but has multiple files defined
    for the ADD_CONFIG, the test will die, because the MIN_CONFIG will
    default to ADD_CONFIG. The problem is the code to open MIN_CONFIG
    expects a string of one file, not multiple, and the open will fail.

    Since the real minconfig that is used is a concatination of MIN_CONFIG
    and ADD_CONFIG files, we change the code to open that instead of
    whatever MIN_CONFIG defaults to.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • The IGNORE_CONFIG file holds the configs that we don't want to change
    (with their proper settings). But on start up, the make noconfig is
    executed, and the configs that are on are also put into the ignore
    config category. But these are configs that were forced on by the
    kconfig scripts and not something that we found must be enabled to boot
    our machine. By keeping the configs that are forced on by default,
    separate from the configs we found that are required to boot the box, we
    can get a much more interesting IGNORE_CONFIG. In fact, the
    IGNORE_CONFIG can usually end up being the must have configs to boot,
    and only have 6 or 7 configs set.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • If the defined OUTPUT_MIN_CONFIG in the make_min_config test exists,
    then give a prompt to ask the user if they want to use that config
    instead, as it is very often the case, especially when the test has been
    interrupted. The OUTPUT_MIN_CONFIG is usually the config that one wants
    to use to continue the test where they left off.

    But if START_MIN_CONFIG is defined (thus the MIN_CONFIG is not the
    default), then do not prompt, as it will be annoying if the user has
    this as one of many tests, and the test pauses waiting for input, while
    the user is sleeping.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • To save time, the test does not just grab any option and test
    it. The Kconfig files are examined to determine the dependencies
    of the configs. If a config is chosen that depends on another
    config, that config will be checked first. By checking the
    parents first, we can eliminate whole groups of configs that
    may have been enabled.

    For example, if a USB device config is chosen and depends on
    CONFIG_USB, the CONFIG_USB will be tested before the device.
    If CONFIG_USB is found not to be needed, it, as well as all
    configs that depend on it, will be disabled and removed from
    the current min_config.

    Note, the code from streamline_config (make localmodconfig)
    was copied and used to find the dependencies in the Kconfig file.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • After doing a make localyesconfig, your kernel configuration may
    not be the most useful minimum configuration. Having a true minimum
    config that you can use against other configs is very useful if
    someone else has a config that breaks on your code. By only forcing
    those configurations that are truly required to boot your machine
    will give you less of a chance that one of your set configurations
    will make the bug go away. This will give you a better chance to
    be able to reproduce the reported bug matching the broken config.

    Note, this does take some time, and may require you to run the
    test over night, or perhaps over the weekend. But it also allows
    you to interrupt it, and gives you the current minimum config
    that was found till that time.

    Note, this test automatically assumes a BUILD_TYPE of oldconfig
    and its test type acts like boot.

    TODO: add a test version that makes the config do more than just
    boot, like having network access.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • Support adding probes on offline kernel modules. This enables
    perf-probe to trace kernel-module init functions via perf-probe.
    If user gives the path of module with -m option, perf-probe
    expects the module is offline.
    This feature works with --add, --funcs, and --vars.

    E.g)
    # perf probe -m /lib/modules/`uname -r`/kernel/fs/btrfs/btrfs.ko \
    -a "extent_io_init:5 extent_state_cache"
    Add new events:
    probe:extent_io_init (on extent_io_init:5 with extent_state_cache)
    probe:extent_io_init_1 (on extent_io_init:5 with extent_state_cache)

    You can now use it on all perf tools, such as:

    perf record -e probe:extent_io_init_1 -aR sleep 1

    Signed-off-by: Masami Hiramatsu
    Cc: Peter Zijlstra
    Cc: Frederic Weisbecker
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Arnaldo Carvalho de Melo
    Link: http://lkml.kernel.org/r/20110627072751.6528.10230.stgit@fedora15
    Signed-off-by: Steven Rostedt

    Masami Hiramatsu
     
  • Add probed module name and ":" in front of function name
    if -m module option is given. In the result, the symbol
    name passed to kprobe-tracer becomes MODULE:FUNCTION,
    so that kallsyms can solve it as a symbol in the module
    correctly.

    Signed-off-by: Masami Hiramatsu
    Cc: Peter Zijlstra
    Cc: Frederic Weisbecker
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Arnaldo Carvalho de Melo
    Link: http://lkml.kernel.org/r/20110627072745.6528.26416.stgit@fedora15
    Signed-off-by: Steven Rostedt

    Masami Hiramatsu
     
  • Introduce debuginfo to encapsulate dwarf information.
    This new object allows us to reuse and expand debuginfo easily.

    Signed-off-by: Masami Hiramatsu
    Cc: Peter Zijlstra
    Cc: Frederic Weisbecker
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Arnaldo Carvalho de Melo
    Link: http://lkml.kernel.org/r/20110627072739.6528.12438.stgit@fedora15
    Signed-off-by: Steven Rostedt

    Masami Hiramatsu
     
  • Move dwarf library related routines to dwarf-aux.{c,h}.
    This includes several minor changes.
    - Add simple documents for each API.
    - Rename die_find_real_subprogram() to die_find_realfunc()
    - Rename line_walk_handler_t to line_walk_callback_t.
    - Minor cleanups.

    Signed-off-by: Masami Hiramatsu
    Cc: Peter Zijlstra
    Cc: Frederic Weisbecker
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Arnaldo Carvalho de Melo
    Link: http://lkml.kernel.org/r/20110627072727.6528.57647.stgit@fedora15
    Signed-off-by: Steven Rostedt

    Masami Hiramatsu
     
  • Since there are dwarf_bitsize, dwarf_bitoffset and dwarf_bytesize
    defined in libdw, we don't need die_get_bit_size, die_get_bit_offset
    and die_get_byte_size anymore.

    Signed-off-by: Masami Hiramatsu
    Cc: Peter Zijlstra
    Cc: Frederic Weisbecker
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Arnaldo Carvalho de Melo
    Link: http://lkml.kernel.org/r/20110627072721.6528.2747.stgit@fedora15
    Signed-off-by: Steven Rostedt

    Masami Hiramatsu
     
  • Since strtailcmp() is enough generic, it should be defined in string.c.

    Signed-off-by: Masami Hiramatsu
    Cc: Peter Zijlstra
    Cc: Frederic Weisbecker
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Arnaldo Carvalho de Melo
    Link: http://lkml.kernel.org/r/20110627072715.6528.10677.stgit@fedora15
    Signed-off-by: Steven Rostedt

    Masami Hiramatsu