29 Oct, 2012

1 commit

  • Pull ktest confusion fix from Steven Rostedt:
    "With the v3.7-rc2 kernel, the network cards on my target boxes were
    not being brought up.

    I found that the modules for the network was not being installed.
    This was due to the config CONFIG_MODULES_USE_ELF_RELA that came
    before CONFIG_MODULES, and confused ktest in thinking that
    CONFIG_MODULES=y was not found.

    Ktest needs to test all configs and not just stop if something starts
    with CONFIG_MODULES."

    * tag 'ktest-v3.7-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest:
    ktest: Fix ktest confusion with CONFIG_MODULES_USE_ELF_RELA

    Linus Torvalds
     

27 Oct, 2012

1 commit

  • Pull perf fixes from Ingo Molnar:
    "Most of the kernel diffstat relates to a group of Intel P6 and KNC
    (Xeon-Phi Knights Corner) PMU driver fixes, neither of which is in
    heavy use, so we took the fixes.

    The rest is diverse smallish fixes to the tooling and kernel side."

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf/x86: Remove unused variable in nhmex_rbox_alter_er()
    perf/x86: Enable overflow on Intel KNC with a custom knc_pmu_handle_irq()
    perf/x86: Remove cpuc->enable check on Intl KNC event enable/disable
    perf/x86: Make Intel KNC use full 40-bit width of counters
    perf/x86/uncore: Handle pci_read_config_dword() errors
    perf/x86: Remove P6 cpuc->enabled check
    perf/x86: Update/fix generic events on P6 PMU
    perf/x86: Fix P6 FP_ASSIST event constraint
    perf, cpu hotplug: Use cached value of smp_processor_id()
    perf, cpu hotplug: Run CPU_STARTING notifiers with irqs disabled
    x86/perf: Fix virtualization sanity check
    perf test: Fix exclude_guest parse events tests
    perf tools: do not flush maps on COMM for perf report
    perf help: Fix --help for builtins
    perf trace: Check if sample raw_data field is set
    perf trace: Validate syscall id before growing syscall table

    Linus Torvalds
     

26 Oct, 2012

3 commits

  • In order to decide if ktest should bother installing modules on the
    target box, it checks if the config file has CONFIG_MODULES=y. But it
    also checks if the '=y' part exists. It only will install modules if the
    config exists and is set with '=y'. But as the regex that was used
    tests:

    /^CONFIG_MODULES(=y)?/

    this will also match:

    CONFIG_MODULES_USE_ELF_RELA

    as the '=y' part was optional and it did not test the rest of the line.
    When this happens, ktest will stop checking the rest of the configs but
    it will also think that no modules are needed to be installed. What it
    should do is only jump out of the loop if it actually found a
    CONFIG_MODULES that is set to true.

    Otherwise, ktest wont install the necessary modules needed for proper
    booting of the test target.

    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • Latest Linus head run of "make selftests" in the tools directory failed
    with references to undefined variables. Reference was to
    'write_thread_data' which is the name of a struct that is being used, not
    the variable itself. Change reference so it points to the variable.

    Signed-off-by: Daniel Hazelton
    Cc: "Paton J. Lewis"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daniel Hazelton
     
  • Fix tools/vm/page-types.c to use the UAPI variant of linux/kernel-page-flags.h
    lest the following error appear:

    In file included from page-types.c:38:0:
    ../../include/linux/kernel-page-flags.h:4:42: fatal error:
    uapi/linux/kernel-page-flags.h: No such file or directory

    Reported-by: Daniel Hazelton
    Signed-off-by: David Howells
    Reviewed-by: Fengguang Wu
    Tested-by: Daniel Hazelton
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Howells
     

23 Oct, 2012

1 commit

  • Event parsing tests are broken by following commit:

    perf tool: Precise mode requires exclude_guest
    commit 1342798cc13e3b48d9b5738f0c8fa812ccea8101
    Author: David Ahern
    Date: Thu Sep 13 14:59:13 2012 -0600

    which enables 'exclude_guest' modifier any time the 'precise'
    modifier is detected.

    Fixing related tests and adding special comment.

    Reported-by: Arnaldo Carvalho de Melo
    Signed-off-by: Jiri Olsa
    Tested-by: David Ahern
    Acked-by: David Ahern
    Cc: David Ahern
    Cc: Namhyung Kim
    Signed-off-by: Arnaldo Carvalho de Melo

    Jiri Olsa
     

22 Oct, 2012

4 commits

  • This fixes a long-standing bug caused by the lack of separate COMM and EXEC
    record types, which makes "perf report" lose track of symbols when a process
    renames itself.

    With this fix (suggested by Stephane Eranian), a COMM (rename) no longer
    flushes the maps, which is the correct behavior. An EXEC also no longer
    flushes the maps, but this doesn't matter because as new mappings are created
    (for the executable and the libraries) the old mappings are automatically
    removed. This is not by accident: the functionality is necessary because DLLs
    can be explicitly loaded at any time with dlopen(), possibly on top of existing
    text, so "perf report" handles correctly the clobbering of new mappings on top
    of old ones.

    An alternative patch (which I proposed earlier) would be to introduce a
    separate PERF_RECORD_EXEC type, but it is a much larger change (about 300
    lines) and is not necessary.

    Signed-off-by: Luigi Semenzato
    Tested-by: Stephane Eranian
    Acked-by: Stephane Eranian
    Cc: "Eric W. Biederman"
    Cc: "Rafael J. Wysocki"
    Cc: Alexander Viro
    Cc: Andi Kleen
    Cc: Andrew Morton
    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Greg Kroah-Hartman
    Cc: Ingo Molnar
    Cc: Lucas De Marchi
    Cc: Namhyung Kim
    Cc: Oleg Nesterov
    Cc: Olof Johansson
    Cc: Paul Gortmaker
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Robert Richter
    Cc: Sonny Rao
    Cc: Stephane Eranian
    Cc: Stephen Wilson
    Cc: Tejun Heo
    Cc: Vasiliy Kulikov
    Link: http://lkml.kernel.org/r/1345585940-6497-1-git-send-email-semenzato@chromium.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Luigi Semenzato
     
  • It seems that commit cc5848213329 ("perf help: Remove use of die and
    handle errors") caused the problem - it changed the initial value of
    'help_format' from HELP_FORMAT_MAN to HELP_FORMAT_NONE.

    This broke the --help option for all builtins, that would produce no
    output, while 'man perf-top' would work it MANPATH is properly setup.

    Reported-by: Stephane Eranian
    Signed-off-by: Namhyung Kim
    Tested-by: David Ahern
    Acked-by: David Ahern
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/87r4orj7zc.fsf@sejong.aot.lge.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • Sometimes we're segfaulting because we were expecting that the
    perf_sample.raw_data field was set as requested, but in some cases
    that needs further investigation, that field can be NULL, leading
    to segfaults.

    Make the tool more robust by checking that before calling any per event
    handlers that may try to use that field.

    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Jiri Olsa
    Cc: Mike Galbraith
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-g1fmodl6ys4lq8honbj1igoi@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • In some cases the ID for a syscall read thru the raw_syscalls tracepoint
    is bogus, still needs to be investigated why, but to make the tool more
    robust first try to resolve the ID to a name via libaudit and if it
    fails, don't grow the table.

    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Jiri Olsa
    Cc: Mike Galbraith
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-0lsokw3xor7c4ijo45u6bauh@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

20 Oct, 2012

2 commits

  • Namhyung Kim reported that the build fails with:

    GEN python/perf.so
    gcc: error: python_ext_build/tmp//../../libtraceevent.a: No such file or directory
    error: command 'gcc' failed with exit status 1
    cp: cannot stat `python_ext_build/lib/perf.so': No such file or directory
    make: *** [python/perf.so] Error 1

    We need to propagate the TE_PATH variable to the setup.py file.

    Reported-by: Namhyung Kim
    Signed-off-by: Arnaldo Carvalho de Melo
    Link: http://lkml.kernel.org/n/tip-8umiPbm4sxpknKivbjgykhut@git.kernel.org
    [ Fixed superfluous variable build error. ]
    Signed-off-by: Ingo Molnar

    Arnaldo Carvalho de Melo
     
  • …it/acme/linux into perf/urgent

    Pull perf/urgent fixes from Arnaldo Carvalho de Melo:

    * The python binding needs to link with libtraceevent and to initialize
    the 'page_size' variable so that mmaping works again.

    * The callchain folding character that appears on the TUI just before
    the overhead had disappeared due to recent changes, add it back.

    * Intel PEBS in VT-x context uses the DS address as a guest linear address,
    even though its programmed by the host as a host linear address. This either
    results in guest memory corruption and or the hardware faulting and 'crashing'
    the virtual machine. Therefore we have to disable PEBS on VT-x enter and
    re-enable on VT-x exit, enforcing a strict exclude_guest.

    Kernel side enforcement fix by Peter Zijlstra, tooling side fix by David Ahern.

    * Fix build on sparc due to UAPI, fix from David Miller.

    * Fixes for the srclike sort key for unresolved symbols and when processing
    samples in JITted code, where we don't have an ELF file, just an special
    symbol table, fixes from Namhyung Kim.

    * Fix some leaks in libtraceevent, from Steven Rostedt.

    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     

18 Oct, 2012

1 commit

  • The commit 5395a04841fc ("perf hists: Separate overhead and baseline
    columns") makes the "Overhead" column no more the first one, this
    caused the test that checks if it is time to show if a histogram
    entry has callchains never hits.

    Fix it by checking if the 'i' variable is equal to PERF_HPP__OVERHEAD
    instead of 0.

    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Jiri Olsa
    Cc: Mike Galbraith
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-w3lcbx0fx1fnh3l2cbq40q2e@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     

17 Oct, 2012

8 commits

  • More UAPI stuff.

    Signed-off-by: David S. Miller
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20121017.010656.383828471689899431.davem@davemloft.net
    Signed-off-by: Arnaldo Carvalho de Melo

    David Miller
     
  • The evsel methods to read tracepoint fields uses libtraceevent
    functions, becoming needed by the python binding as well.

    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Jiri Olsa
    Cc: Mike Galbraith
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-j3o4v7jyvp9ke9n230l96a1m@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • The commit 0c1fe6b:

    'perf tools: Have the page size value available for all tools'

    Broke the python binding because the global variable 'page_size' is
    initialized on the main() routine, that is not called when using
    just the python binding, causing evlist.mmap() to fail because it
    expects that variable to be initialized to the system's page size.

    Fix it by initializing it on the binding init routine.

    Cc: David Ahern
    Cc: Frederic Weisbecker
    Cc: Jiri Olsa
    Cc: Mike Galbraith
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/n/tip-vrvp3azmbfzexnpmkhmvtzzc@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • Some of args were missed in free_args(), as well as subargs.

    That is args like FILTER_ARG_NUM have left and right pointers to other
    args that also need to be freed.

    Signed-off-by: Steven Rostedt
    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Link: http://lkml.kernel.org/r/1349137408.22822.135.camel@gandalf.local.home
    Signed-off-by: Arnaldo Carvalho de Melo

    Steven Rostedt
     
  • Even though with the change of commit commit 2b29175 "tools lib
    traceevent: Carve out events format parsing routine", allowed
    __pevent_parse_format() to parse an event without the need of a pevent
    handler, the event still needs to assign the pevent handed to it.

    There's no problem with assigning it if the pevent is NULL, as the
    event->pevent would be NULL without the assignment. But function parsing
    handlers may be assigned to the pevent handler to help in parsing the
    event. If there's no pevent then there would not be any function
    handlers, but if the pevent isn't assigned first before parsing the
    event, it wont honor the function handlers that were assigned.

    Worse yet, the current code crashes if an event has a function that it
    tries to parse. For example:

    # perf record -e scsi:scsi_dispatch_cmd_timeout
    Segmentation fault (core dumped)

    This happens because the scsi_dispatch_cmd_timeout event format has the following:

    scsi_trace_parse_cdb(p, __get_dynamic_array(cmnd), REC->cmd_len)

    which hasn't been defined by the pevent code.

    Signed-off-by: Steven Rostedt
    Reviewed-by: Namhyung Kim
    Cc: Ingo Molnar
    Cc: Namhyung Kim
    Link: http://lkml.kernel.org/r/1349136831.22822.133.camel@gandalf.local.home
    Signed-off-by: Arnaldo Carvalho de Melo

    Steven Rostedt
     
  • The commit 5395a04841fc ("perf hists: Separate overhead and baseline
    columns") makes the "Overhead" column no more the first one. So it
    resulted in the mis-aligned column in the normal (non-diff) output.

    Signed-off-by: Namhyung Kim
    Reported-by: Markus Trippelsdorf
    Acked-by: Jiri Olsa
    Cc: Ingo Molnar
    Cc: Jiri Olsa
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/None
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • When using the srcline sort key with perf report, I see many lines of
    warning related to JIT samples like below:

    addr2line: '/tmp/perf-1397.map': No such file

    Since it's not a ELF binary and doesn't provide such information, just
    use the raw ip address.

    Signed-off-by: Namhyung Kim
    Cc: David Ahern
    Cc: Ingo Molnar
    Cc: Irina Tirdea
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1350272383-7016-2-git-send-email-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • The srcline sort key is for grouping samples based on their source file
    and line number. It use addr2line tool to get the information but it
    requires dso name. It caused a segfault when a sample does not have the
    name by dereferencing a NULL pointer. Fix it by using raw ip addresses
    for those samples.

    Signed-off-by: Namhyung Kim
    Cc: Ingo Molnar
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/1350272383-7016-1-git-send-email-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     

16 Oct, 2012

1 commit

  • Summary of events per Peter:

    "Intel PEBS in VT-x context uses the DS address as a guest linear address,
    even though its programmed by the host as a host linear address. This
    either results in guest memory corruption and or the hardware faulting and
    'crashing' the virtual machine. Therefore we have to disable PEBS on VT-x
    enter and re-enable on VT-x exit, enforcing a strict exclude_guest.

    AMB IBS does work but doesn't currently support exclude_* at all,
    setting an exclude_* bit will make it fail."

    This patch handles userspace perf command, setting the exclude_guest
    attribute if precise mode is requested, but only if a user has not
    specified a request for guest or host only profiling (G or H attribute).

    Kernel side AMD currently ignores all exclude_* bits, so there is no impact
    to existing IBS code paths. Robert Richter has a patch where IBS code will
    return EINVAL if an exclude_* bit is set. When this goes in it means use
    of :p on AMD with IBS will first fail with EINVAL (because exclude_guest
    will be set). Then the existing fallback code within perf will unset
    exclude_guest and try again. The second attempt will succeed if the CPU
    supports IBS profiling.

    Signed-off-by: David Ahern
    Acked-by: Peter Zijlstra
    Acked-by: Robert Richter
    Tested-by: Robert Richter
    Reviewed-by: Robert Richter
    Cc: Avi Kivity
    Cc: Gleb Natapov
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Cc: Robert Richter
    Link: http://lkml.kernel.org/r/1347569955-54626-2-git-send-email-dsahern@gmail.com
    Signed-off-by: Arnaldo Carvalho de Melo

    David Ahern
     

15 Oct, 2012

1 commit

  • The UAPI commits forgot to test tooling builds such as tools/perf/,
    and this fixes the fallout.

    Manual conversion.

    Signed-off-by: Ingo Molnar
    Signed-off-by: Linus Torvalds

    Ingo Molnar
     

13 Oct, 2012

4 commits

  • Signed-off-by: David Howells
    Acked-by: Arnd Bergmann
    Acked-by: Thomas Gleixner
    Acked-by: Michael Kerrisk
    Acked-by: Paul E. McKenney
    Acked-by: Dave Jones

    David Howells
     
  • Pull ACPI & Thermal updates from Len Brown:
    "The generic Linux thermal layer is gaining some new capabilities
    (generic cooling via cpufreq) and some new customers (ARM).

    Also, an ACPI EC bug fix plus a regression fix."

    * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: (30 commits)
    tools/power/acpi/acpidump: remove duplicated include from acpidump.c
    ACPI idle, CPU hotplug: Fix NULL pointer dereference during hotplug
    cpuidle / ACPI: fix potential NULL pointer dereference
    ACPI: EC: Add a quirk for CLEVO M720T/M730T laptop
    ACPI: EC: Make the GPE storm threshold a module parameter
    thermal: Exynos: Fix NULL pointer dereference in exynos_unregister_thermal()
    Thermal: Fix bug on cpu_cooling, cooling device's id conflict problem.
    thermal: exynos: Use devm_* functions
    ARM: exynos: add thermal sensor driver platform data support
    thermal: exynos: register the tmu sensor with the kernel thermal layer
    thermal: exynos5: add exynos5250 thermal sensor driver support
    hwmon: exynos4: move thermal sensor driver to driver/thermal directory
    thermal: add generic cpufreq cooling implementation
    Fix a build error.
    thermal: Fix potential NULL pointer accesses
    thermal: add Renesas R-Car thermal sensor support
    thermal: fix potential out-of-bounds memory access
    Thermal: Introduce locking for cdev.thermal_instances list.
    Thermal: Unify the code for both active and passive cooling
    Thermal: Introduce simple arbitrator for setting device cooling state
    ...

    Linus Torvalds
     
  • Pull perf updates from Ingo Molnar:
    "This tree includes some late late perf items that missed the first
    round:

    tools:

    - Bash auto completion improvements, now we can auto complete the
    tools long options, tracepoint event names, etc, from Namhyung Kim.

    - Look up thread using tid instead of pid in 'perf sched'.

    - Move global variables into a perf_kvm struct, from David Ahern.

    - Hists refactorings, preparatory for improved 'diff' command, from
    Jiri Olsa.

    - Hists refactorings, preparatory for event group viewieng work, from
    Namhyung Kim.

    - Remove double negation on optional feature macro definitions, from
    Namhyung Kim.

    - Remove several cases of needless global variables, on most
    builtins.

    - misc fixes

    kernel:

    - sysfs support for IBS on AMD CPUs, from Robert Richter.

    - Support for an upcoming Intel CPU, the Xeon-Phi / Knights Corner
    HPC blade PMU, from Vince Weaver.

    - misc fixes"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (46 commits)
    perf: Fix perf_cgroup_switch for sw-events
    perf: Clarify perf_cpu_context::active_pmu usage by renaming it to ::unique_pmu
    perf/AMD/IBS: Add sysfs support
    perf hists: Add more helpers for hist entry stat
    perf hists: Move he->stat.nr_events initialization to a template
    perf hists: Introduce struct he_stat
    perf diff: Removing the total_period argument from output code
    perf tool: Add hpp interface to enable/disable hpp column
    perf tools: Removing hists pair argument from output path
    perf hists: Separate overhead and baseline columns
    perf diff: Refactor diff displacement possition info
    perf hists: Add struct hists pointer to struct hist_entry
    perf tools: Complete tracepoint event names
    perf/x86: Add support for Intel Xeon-Phi Knights Corner PMU
    perf evlist: Remove some unused methods
    perf evlist: Introduce add_newtp method
    perf kvm: Move global variables into a perf_kvm struct
    perf tools: Convert to BACKTRACE_SUPPORT
    perf tools: Long option completion support for each subcommands
    perf tools: Complete long option names of perf command
    ...

    Linus Torvalds
     
  • Perf build fails with the new rbtree implementation:

    ../../lib/rbtree.c:24:36: fatal error: linux/rbtree_augmented.h: No such file or directory compilation terminated.

    Fix by updating the Makefile and adding a btree_augmented.h
    wrapper.

    Reported-and-tested-by: Borislav Petkov
    Signed-off-by: Markus Trippelsdorf
    Cc: Arnaldo Carvalho de Melo
    Cc: Borislav Petkov
    Link: http://lkml.kernel.org/r/20121009180156.GA245@x4
    Signed-off-by: Ingo Molnar
    Signed-off-by: Linus Torvalds

    Markus Trippelsdorf
     

12 Oct, 2012

1 commit

  • Pull kconfig changes from Michal Marek:
    "kconfig in v3.7 is going to
    - initialize ncurses only once in menuconfig
    - be able to jump to a search result in menuconfig
    - change the misnomer oldnoconfig to a more meaningful name
    olddefconfig, keeping the old name as alias"

    * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kconfig: replace 'oldnoconfig' with 'olddefconfig', and keep the old name as an alias
    menuconfig: Assign jump keys per-page instead of globally
    menuconfig: Do not open code textbox scroll up/down
    menuconfig: Add jump keys to search results
    menuconfig: Extend dialog_textbox so that it can return to a scrolled position
    menuconfig: Extend dialog_textbox so that it can exit on arbitrary keypresses
    menuconfig: Remove superfluous conditionnal
    kconfig: document oldnoconfig to what it really does in conf.c
    kconfig/mconf.c: revision of curses initialization.

    Linus Torvalds
     

11 Oct, 2012

1 commit


09 Oct, 2012

2 commits

  • In __rb_erase_color(), we were always setting a node to black after
    exiting the main loop. And in one case, after fixing up the tree to
    satisfy all rbtree invariants, we were setting the current node to root
    just to guarantee a loop exit, at which point the root would be set to
    black. However this is not necessary, as the root of an rbtree is already
    known to be black. The only case where the color flip is required is when
    we exit the loop due to the current node being red, and it's easiest to
    just do the flip at that point instead of doing it after the loop.

    [adrian.hunter@intel.com: perf tools: fix build for another rbtree.c change]
    Signed-off-by: Michel Lespinasse
    Cc: Andrea Arcangeli
    Acked-by: David Woodhouse
    Cc: Rik van Riel
    Cc: Peter Zijlstra
    Cc: Daniel Santos
    Cc: Jens Axboe
    Cc: "Eric W. Biederman"
    Signed-off-by: Adrian Hunter
    Cc: Alexander Shishkin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michel Lespinasse
     
  • Remove duplicated include.

    dpatch engine is used to auto generate this patch.
    (https://github.com/weiyj/dpatch)

    Signed-off-by: Wei Yongjun
    Signed-off-by: Len Brown

    Wei Yongjun
     

08 Oct, 2012

2 commits

  • Pull kbuild fixes from Michal Marek:
    "Here are two fixes I intended to send after v3.6-rc7, but failed to do
    so. So please pull them for v3.7-rc1 and they will be picked up by
    stable.

    The first one fixes gcc -x syntax in various build-time
    tests, which icecream and possible other gcc wrappers did not
    understand (and yes, icecream is going to be fixed as well).

    The second one fixes make tar-pkg so that unpacking the tarball does
    not replace the /lib -> /usr/lib symlink on recent Fedora releases."

    * 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild: Fix gcc -x syntax
    kbuild: Do not package /boot and /lib in make tar-pkg

    Linus Torvalds
     
  • Pul ACPI & Power Management updates from Len Brown:
    - acpidump utility added
    - intel_idle driver now supports IVB Xeon
    - turbostat utility can now count SMIs
    - ACPI can now bind to USB3 hubs
    - misc fixes

    * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: (49 commits)
    ACPI: Add new sysfs interface to export device description
    ACPI: Harden acpi_table_parse_entries() against BIOS bug
    tools/power/turbostat: add option to count SMIs, re-name some options
    tools/power turbostat: add [-d MSR#][-D MSR#] options to print counter deltas
    intel_idle: enable IVB Xeon support
    tools/power turbostat: add [-m MSR#] option
    tools/power turbostat: make -M output pretty
    tools/power turbostat: print more turbo-limit information
    tools/power turbostat: delete unused line
    tools/power turbostat: run on IVB Xeon
    tools/power/acpi/acpidump: create acpidump(8), local make install targets
    tools/power/acpi/acpidump: version 20101221 - find dynamic tables in sysfs
    ACPI: run _OSC after ACPI_FULL_INITIALIZATION
    tools/power/acpi/acpidump: create acpidump(8), local make install targets
    tools/power/acpi/acpidump: version 20101221 - find dynamic tables in sysfs
    tools/power/acpi/acpidump: version 20071116
    tools/power/acpi/acpidump: version 20070714
    tools/power/acpi/acpidump: version 20060606
    tools/power/acpi/acpidump: version 20051111
    xo15-ebook: convert to module_acpi_driver()
    ...

    Linus Torvalds
     

07 Oct, 2012

3 commits

  • Pull virtio changes from Rusty Russell:
    "New workflow: same git trees pulled by linux-next get sent straight to
    Linus. Git is awkward at shuffling patches compared with quilt or mq,
    but that doesn't happen often once things get into my -next branch."

    * 'virtio-next' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (24 commits)
    lguest: fix occasional crash in example launcher.
    virtio-blk: Disable callback in virtblk_done()
    virtio_mmio: Don't attempt to create empty virtqueues
    virtio_mmio: fix off by one error allocating queue
    drivers/virtio/virtio_pci.c: fix error return code
    virtio: don't crash when device is buggy
    virtio: remove CONFIG_VIRTIO_RING
    virtio: add help to CONFIG_VIRTIO option.
    virtio: support reserved vqs
    virtio: introduce an API to set affinity for a virtqueue
    virtio-ring: move queue_index to vring_virtqueue
    virtio_balloon: not EXPERIMENTAL any more.
    virtio-balloon: dependency fix
    virtio-blk: fix NULL checking in virtblk_alloc_req()
    virtio-blk: Add REQ_FLUSH and REQ_FUA support to bio path
    virtio-blk: Add bio-based IO path for virtio-blk
    virtio: console: fix error handling in init() function
    tools: Fix pthread flag for Makefile of trace-agent used by virtio-trace
    tools: Add guest trace agent as a user tool
    virtio/console: Allocate scatterlist according to the current pipe size
    ...

    Linus Torvalds
     
  • …implify', 'turbostat' and 'usb3' into release

    add acpidump utility
    intel_idle driver now supports IVB Xeon
    turbostat can now count SMIs
    ACPI can now bind to USB3 hubs
    misc fixes

    Len Brown
     
  • Counting SMIs is popular, so add a dedicated "-s" option to do it,
    and juggle some of the other option letters.

    -S is now system summary (was -s)
    -c is 32 bit counter (was -d)
    -C is 64-bit counter (was -D)
    -p is 1st thread in core (was -c)
    -P is 1st thread in package (was -p)

    bump the minor version number

    Signed-off-by: Len Brown

    Len Brown
     

06 Oct, 2012

1 commit

  • Enhanced epoll_ctl to support EPOLL_CTL_DISABLE, which disables an epoll
    item. If epoll_ctl doesn't return -EBUSY in this case, it is then safe to
    delete the epoll item in a multi-threaded environment. Also added a new
    test_epoll self- test app to both demonstrate the need for this feature
    and test it.

    Signed-off-by: Paton J. Lewis
    Cc: Alexander Viro
    Cc: Jason Baron
    Cc: Paul Holland
    Cc: Davide Libenzi
    Cc: Michael Kerrisk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paton J. Lewis
     

05 Oct, 2012

3 commits

  • …/acme/linux into perf/urgent

    Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:

    * Remove several cases of needless global variables, on most builtins.

    * Look up thread using tid instead of pid in 'perf sched'.

    * Move global variables into a perf_kvm struct, from David Ahern.

    * Hists refactorings, preparatory for improved 'diff' command, from Jiri Olsa.

    * Hists refactorings, preparatory for event group viewieng work, from Namhyung Kim.

    * Remove double negation on optional feature macro definitions, from Namhyung Kim.

    * Bash auto completion improvements, now we can auto complete the tools long
    options, tracepoint event names, etc, from Namhyung Kim.

    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     
  • Add and use he_stat__add_{period,stat} for calculating hist entry's
    stat. It will be used for accumulated stats later as well.

    Signed-off-by: Namhyung Kim
    Cc: Arun Sharma
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Jiri Olsa
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1349354994-17853-10-git-send-email-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim
     
  • Since it is set to 1 for a new hist entry, no need to set to separately.
    Move it to a template entry.

    Signed-off-by: Namhyung Kim
    Cc: Arun Sharma
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Jiri Olsa
    Cc: Peter Zijlstra
    Cc: Stephane Eranian
    Link: http://lkml.kernel.org/r/1349354994-17853-9-git-send-email-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Namhyung Kim