21 Apr, 2014

1 commit


20 Apr, 2014

3 commits

  • In the current version, when using perf record, if something goes
    wrong in tools/perf/builtin-record.c:375
    session = perf_session__new(file, false, NULL);

    The error message:
    "Not enough memory for reading per file header"

    is issued. This error message seems to be outdated and is not very
    helpful. This patch proposes to replace this error message by
    "Perf session creation failed"

    I believe this issue has been brought to lkml:
    https://lkml.org/lkml/2014/2/24/458
    although this patch only tackles a (small) part of the issue.

    Additionnaly, this patch improves error reporting in
    tools/perf/util/data.c open_file_write.

    Currently, if the call to open fails, the user is unaware of it.
    This patch logs the error, before returning the error code to
    the caller.

    Reported-by: Will Deacon
    Signed-off-by: Adrien BAK
    Link: http://lkml.kernel.org/r/1397786443.3093.4.camel@beast
    [ Reorganize the changelog into paragraphs ]
    [ Added empty line after fd declaration in open_file_write ]
    Signed-off-by: Jiri Olsa

    Adrien BAK
     
  • pert-report doesn't resolve function names in VDSO:

    $ perf report --stdio -g flat,0.0,15,callee --sort pid
    ...
    8.76%
    0x7fff6b1fe861
    __gettimeofday
    ACE_OS::gettimeofday()
    ...

    In this case symbol values should be adjusted the same way as for executables,
    relocatable objects and prelinked libraries.

    After fix:

    $ perf report --stdio -g flat,0.0,15,callee --sort pid
    ...
    8.76%
    __vdso_gettimeofday
    __gettimeofday
    ACE_OS::gettimeofday()

    Signed-off-by: Vladimir Nikulichev
    Tested-by: Namhyung Kim
    Reviewed-by: Adrian Hunter
    Link: http://lkml.kernel.org/r/969812.163009436-sendEmail@nvs
    Signed-off-by: Jiri Olsa

    Vladimir Nikulichev
     
  • Every event in the perf-kvm has a 'stats' structure, which contains
    max/min/average/etc times of handling this event.
    The problem is that the 'perf-kvm stat report' command always shows
    that 'min time' is 0us for every event. Example:

    # perf kvm stat report

    Analyze events for all VCPUs:

    VM-EXIT Samples Samples% Time% Min Time Max Time Avg time
    [..]
    0xB2 MSCH 12 0.07% 0.00% 0us 8us 7.31us ( +- 2.11% )
    0xB2 CHSC 12 0.07% 0.00% 0us 18us 9.39us ( +- 9.49% )
    0xB2 STPX 8 0.05% 0.00% 0us 2us 1.88us ( +- 7.18% )
    0xB2 STSI 7 0.04% 0.00% 0us 44us 16.49us ( +- 38.20% )
    [..]

    This happens because the 'stats' structure is not initialized and
    stats->min equals to 0. Lets initialize the structure for every
    event after its allocation using init_stats() function. This initializes
    stats->min to -1 and makes 'Min time' statistics counting work:

    # perf kvm stat report

    Analyze events for all VCPUs:

    VM-EXIT Samples Samples% Time% Min Time Max Time Avg time
    [..]
    0xB2 MSCH 12 0.07% 0.00% 6us 8us 7.31us ( +- 2.11% )
    0xB2 CHSC 12 0.07% 0.00% 7us 18us 9.39us ( +- 9.49% )
    0xB2 STPX 8 0.05% 0.00% 1us 2us 1.88us ( +- 7.18% )
    0xB2 STSI 7 0.04% 0.00% 1us 44us 16.49us ( +- 38.20% )
    [..]

    Signed-off-by: Alexander Yarygin
    Signed-off-by: Christian Borntraeger
    Reviewed-by: David Ahern
    Link: http://lkml.kernel.org/r/1397053319-2130-3-git-send-email-borntraeger@de.ibm.com
    [ Fixing the perf examples changelog output ]
    Signed-off-by: Jiri Olsa

    Alexander Yarygin
     

19 Apr, 2014

1 commit

  • Pull char/misc driver fixes from Greg KH:
    "Here are a few driver fixes for char/misc drivers that resolve
    reported issues.

    All have been in linux-next successfully for a few days"

    * tag 'char-misc-3.15-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    Drivers: hv: vmbus: Negotiate version 3.0 when running on ws2012r2 hosts
    Tools: hv: Handle the case when the target file exists correctly
    vme_tsi148: Utilize to_pci_dev() macro
    vme_tsi148: Fix PCI address mapping assumption
    vme_tsi148: Fix typo in tsi148_slave_get()
    w1: avoid recursive device_add
    w1: fix netlink refcnt leak on error path
    misc: Grammar s/addition/additional/
    drivers: mcb: fix memory leak in chameleon_parse_cells() error path
    mei: ignore client writing state during cb completion
    mei: me: do not load the driver if the FW doesn't support MEI interface
    GenWQE: Increase driver version number
    GenWQE: Fix multithreading problems
    GenWQE: Ensure rc is not returning an uninitialized value
    GenWQE: Add wmb before DDCB is started
    GenWQE: Enable access to VPD flash area

    Linus Torvalds
     

17 Apr, 2014

3 commits

  • Pull perf fixes from Ingo Molnar:
    "Tooling fixes, plus a simple hardware-enablement patch for the Intel
    RAPL PMU (energy use measurement) on Haswell CPUs, which I hope is
    still fine at this stage"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf tools: Instead of redirecting flex output, use -o
    perf tools: Fix double free in perf test 21 (code-reading.c)
    perf stat: Initialize statistics correctly
    perf bench: Set more defaults in the 'numa' suite
    perf bench: Fix segfault at the end of an 'all' execution
    perf bench: Update manpage to mention numa and futex
    perf probe: Use dwarf_getcfi_elf() instead of dwarf_getcfi()
    perf probe: Fix to handle errors in line_range searching
    perf probe: Fix --line option behavior
    perf tools: Pick up libdw without explicit LIBDW_DIR
    MAINTAINERS: Change e-mail to kernel.org one
    perf callchains: Disable unwind libraries when libelf isn't found
    tools lib traceevent: Do not call warning() directly
    tools lib traceevent: Print event name when show warning if possible
    perf top: Fix documentation of invalid -s option
    perf/x86: Enable DRAM RAPL support on Intel Haswell

    Linus Torvalds
     
  • Pull locking fixes from Ingo Molnar:
    "liblockdep fixes and mutex debugging fixes"

    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    locking/mutex: Fix debug_mutexes
    tools/liblockdep: Add proper versioning to the shared obj
    tools/liblockdep: Ignore asmlinkage and visible

    Linus Torvalds
     
  • Return the appropriate error code and handle the case when the target
    file exists correctly. This fixes a bug.

    Signed-off-by: K. Y. Srinivasan
    Cc: [3.14]
    Signed-off-by: Greg Kroah-Hartman

    K. Y. Srinivasan
     

15 Apr, 2014

2 commits


14 Apr, 2014

14 commits

  • Conflicts:
    tools/perf/bench/numa.c

    Pull perf fixes from Jiri Olsa.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • …/sashal/linux into core/urgent

    Pull liblockdep fixes from Sasha Levin:

    " 1. There was a build breakage caused by marking a function 'asmlinkage'
    in lockdep.h. Fix that by ignoring asmlinkage and visible annotations.

    2. Josh Boyer mentioned that Fedora would like to include liblockdep
    as a package, so we had to fix our versioning methods from being dumb
    and pointless to something actually usable. So now liblockdep.so tracks
    the kernel version which makes lives of distro folks much easier. "

    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     
  • perf stat did initialize the stats structure used to compute
    stddev etc. incorrectly. It merely zeroes it. But one member
    (min) needs to be set to a non zero value. This causes min
    to be not computed at all. Call init_stats() correctly.

    It doesn't matter for stat currently because it doesn't use
    min, but it's still better to do it correctly.

    The other users of statistics are already correct.

    Signed-off-by: Andi Kleen
    Acked-by: Namhyung Kim
    Link: http://lkml.kernel.org/r/1395768699-16060-1-git-send-email-andi@firstfloor.org
    Signed-off-by: Jiri Olsa

    Andi Kleen
     
  • Currently,

    $ perf bench numa mem

    errors out with usage information. To make this more user-friendly, let
    us provide a minimum set of default values required for a test
    run. As an added bonus,

    $ perf bench all

    now goes all the way to completion.

    Signed-off-by: Ramkumar Ramachandra
    Cc: Arnaldo Carvalho de Melo
    Cc: David Ahern
    Cc: Ingo Molnar
    Cc: Jiri Olsa
    Link: http://lkml.kernel.org/r/1395964219-22173-2-git-send-email-artagnon@gmail.com
    Signed-off-by: Jiri Olsa

    Ramkumar Ramachandra
     
  • At the end of

    $ perf bench all

    the program segfaults because it attempts to dereference a NULL
    pointer. Fix this fault.

    Signed-off-by: Ramkumar Ramachandra
    Cc: Arnaldo Carvalho de Melo
    Cc: David Ahern
    Cc: Jiri Olsa
    Link: http://lkml.kernel.org/r/1395964219-22173-4-git-send-email-artagnon@gmail.com
    Signed-off-by: Jiri Olsa

    Ramkumar Ramachandra
     
  • Signed-off-by: Ramkumar Ramachandra
    Cc: Arnaldo Carvalho de Melo
    Cc: David Ahern
    Cc: Jiri Olsa
    Link: http://lkml.kernel.org/r/1395964219-22173-3-git-send-email-artagnon@gmail.com
    Signed-off-by: Jiri Olsa

    Ramkumar Ramachandra
     
  • The dwarf_getcfi() only checks .debug_frame section for CFI, but as
    most binaries only have .eh_frame it'd return NULL and it makes
    some variables inaccessible.

    Using dwarf_getcfi_elf (along with dwarf_getelf()) allows to show and
    add probe to more variables.

    Signed-off-by: Namhyung Kim
    Acked-by: Masami Hiramatsu
    Cc: Masami Hiramatsu
    Link: http://lkml.kernel.org/r/1396854348-9296-1-git-send-email-namhyung@kernel.org
    Signed-off-by: Jiri Olsa

    Namhyung Kim
     
  • As Namhyung reported(https://lkml.org/lkml/2014/4/1/89),
    current perf-probe -L option doesn't handle errors in line-range
    searching correctly. It causes a SEGV if an error occured in the
    line-range searching.

    ----
    $ perf probe -x ./perf -v -L map__load
    Open Debuginfo file: /home/namhyung/project/linux/tools/perf/perf
    fname: util/map.c, lineno:153
    New line range: 153 to 2147483647
    path: (null)
    Segmentation fault (core dumped)
    ----

    This is because line_range_inline_cb() ignores errors
    from find_line_range_by_line() which means that lr->path is
    already freed on the error path in find_line_range_by_line().
    As a result, get_real_path() accesses the lr->path and it
    causes a NULL pointer exception.

    This fixes line_range_inline_cb() to handle the error correctly,
    and report it to the caller.

    Anyway, this just fixes a possible SEGV bug, Namhyung's patch
    is also required.

    Reported-by: Namhyung Kim
    Signed-off-by: Masami Hiramatsu
    Acked-by: Namhyung Kim
    Cc: Arnaldo Carvalho de Melo
    Cc: Ingo Molnar
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Link: http://lkml.kernel.org/r/20140402054831.19080.27006.stgit@ltc230.yrl.intra.hitachi.co.jp
    Signed-off-by: Jiri Olsa

    Masami Hiramatsu
     
  • The commit 5a62257a3ddd1 ("perf probe: Replace line_list with
    intlist") replaced line_list to intlist but it has a problem that if a
    same line was added again, it'd return -EEXIST rather than 1.

    Since line_range_walk_cb() only checks the result being negative, it
    resulted in failure or segfault sometimes.

    Signed-off-by: Namhyung Kim
    Acked-by: Masami Hiramatsu
    Cc: Masami Hiramatsu
    Link: http://lkml.kernel.org/r/1396327677-3657-1-git-send-email-namhyung@kernel.org
    Signed-off-by: Jiri Olsa

    Namhyung Kim
     
  • The Makefile logic sets FEATURE_CHECKS_CFLAGS-libdw-dwarf-unwind and
    FEATURE_CHECKS_LDFLAGS-libdw-dwarf-unwind only if LIBDW_DIR is
    defined. This means that under a normal setup,

    $ make NO_LIBUNWIND=1

    won't automatically pick up libdw. Fix this.

    Signed-off-by: Ramkumar Ramachandra
    Acked-by: Jean Pihet
    Cc: Arnaldo Carvalho de Melo
    Cc: Jiri Olsa
    Link: http://lkml.kernel.org/r/1395873845-466-1-git-send-email-artagnon@gmail.com
    Signed-off-by: Jiri Olsa

    Ramkumar Ramachandra
     
  • I.e. do the same as when NO_LIBELF is explicitely passed in the 'make'
    command line, fixing this:

    Auto-detecting system features:
    ... dwarf: [ OFF ]
    ... glibc: [ on ]
    ... gtk2: [ OFF ]
    ... libaudit: [ OFF ]
    ... libbfd: [ OFF ]
    ... libelf: [ OFF ]
    ... libunwind: [ OFF ]
    ... libdw-dwarf-unwind: [ OFF ]
    ... DWARF post unwind library: libdw

    CC /tmp/build/perf/util/symbol-minimal.o
    CC /tmp/build/perf/util/unwind-libdw.o
    arch/x86/util/unwind-libdw.c:1:30: fatal error: elfutils/libdwfl.h: No such file or directory
    compilation terminated.
    CC /tmp/build/perf/tests/keep-tracking.o
    util/unwind-libdw.c:2:28: fatal error: elfutils/libdw.h: No such file or directory
    compilation terminated.

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Don Zickus
    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-e39j1yxanltjx4t0msse63ax@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: Jiri Olsa

    Arnaldo Carvalho de Melo
     
  • The patch 3a3ffa2e82205 ("tools lib traceevent: Report better error
    message on bad function args") added the error message but it seems
    there's no reason to call warning() directly.

    So change it to do_warning_event() to provide event information too.

    Signed-off-by: Namhyung Kim
    Acked-by: Steven Rostedt
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Steven Rostedt
    Link: http://lkml.kernel.org/r/1395192174-26273-2-git-send-email-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: Jiri Olsa

    Namhyung Kim
     
  • It's sometimes useful to know where the parse failure was occurred. Add
    do_warning_event() macro to see the failing event.

    It now shows the messages like below:

    $ perf test 5
    5: parse events tests : Warning: [kvmmmu:kvm_mmu_get_page] bad op token {
    Warning: [kvmmmu:kvm_mmu_sync_page] bad op token {
    Warning: [kvmmmu:kvm_mmu_unsync_page] bad op token {
    Warning: [kvmmmu:kvm_mmu_prepare_zap_page] bad op token {
    Warning: [kvmmmu:fast_page_fault] function is_writable_pte not defined
    Warning: [xen:xen_mmu_ptep_modify_prot_commit] function sizeof not defined
    Warning: [xen:xen_mmu_ptep_modify_prot_start] function sizeof not defined
    Warning: [xen:xen_mmu_set_pgd] function sizeof not defined
    Warning: [xen:xen_mmu_set_pud] function sizeof not defined
    Warning: [xen:xen_mmu_set_pmd] function sizeof not defined
    ...

    Signed-off-by: Namhyung Kim
    Acked-by: Steven Rostedt
    Cc: Frederic Weisbecker
    Cc: Ingo Molnar
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Ramkumar Ramachandra
    Cc: Steven Rostedt
    Link: http://lkml.kernel.org/r/1395192174-26273-1-git-send-email-namhyung@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: Jiri Olsa

    Namhyung Kim
     
  • On perf top, the -s option is used for --sort, but the man page
    contains invalid documentation of -s option for --sym-annotate.

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

    Namhyung Kim
     

12 Apr, 2014

1 commit

  • Pull more ACPI and power management fixes and updates from Rafael Wysocki:
    "This is PM and ACPI material that has emerged over the last two weeks
    and one fix for a CPU hotplug regression introduced by the recent CPU
    hotplug notifiers registration series.

    Included are intel_idle and turbostat updates from Len Brown (these
    have been in linux-next for quite some time), a new cpufreq driver for
    powernv (that might spend some more time in linux-next, but BenH was
    asking me so nicely to push it for 3.15 that I couldn't resist), some
    cpufreq fixes and cleanups (including fixes for some silly breakage in
    a couple of cpufreq drivers introduced during the 3.14 cycle),
    assorted ACPI cleanups, wakeup framework documentation fixes, a new
    sysfs attribute for cpuidle and a new command line argument for power
    domains diagnostics.

    Specifics:

    - Fix for a recently introduced CPU hotplug regression in ARM KVM
    from Ming Lei.

    - Fixes for breakage in the at32ap, loongson2_cpufreq, and unicore32
    cpufreq drivers introduced during the 3.14 cycle (-stable material)
    from Chen Gang and Viresh Kumar.

    - New powernv cpufreq driver from Vaidyanathan Srinivasan, with bits
    from Gautham R Shenoy and Srivatsa S Bhat.

    - Exynos cpufreq driver fix preventing it from being included into
    multiplatform builds that aren't supported by it from Sachin Kamat.

    - cpufreq cleanups related to the usage of the driver_data field in
    struct cpufreq_frequency_table from Viresh Kumar.

    - cpufreq ppc driver cleanup from Sachin Kamat.

    - Intel BayTrail support for intel_idle and ACPI idle from Len Brown.

    - Intel CPU model 54 (Atom N2000 series) support for intel_idle from
    Jan Kiszka.

    - intel_idle fix for Intel Ivy Town residency targets from Len Brown.

    - turbostat updates (Intel Broadwell support and output cleanups)
    from Len Brown.

    - New cpuidle sysfs attribute for exporting C-states' target
    residency information to user space from Daniel Lezcano.

    - New kernel command line argument to prevent power domains enabled
    by the bootloader from being turned off even if they are not in use
    (for diagnostics purposes) from Tushar Behera.

    - Fixes for wakeup sysfs attributes documentation from Geert
    Uytterhoeven.

    - New ACPI video blacklist entry for ThinkPad Helix from Stephen
    Chandler Paul.

    - Assorted ACPI cleanups and a Kconfig help update from Jonghwan
    Choi, Zhihui Zhang, Hanjun Guo"

    * tag 'pm+acpi-3.15-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (28 commits)
    ACPI: Update the ACPI spec information in Kconfig
    arm, kvm: fix double lock on cpu_add_remove_lock
    cpuidle: sysfs: Export target residency information
    cpufreq: ppc: Remove duplicate inclusion of fsl_soc.h
    cpufreq: create another field .flags in cpufreq_frequency_table
    cpufreq: use kzalloc() to allocate memory for cpufreq_frequency_table
    cpufreq: don't print value of .driver_data from core
    cpufreq: ia64: don't set .driver_data to index
    cpufreq: powernv: Select CPUFreq related Kconfig options for powernv
    cpufreq: powernv: Use cpufreq_frequency_table.driver_data to store pstate ids
    cpufreq: powernv: cpufreq driver for powernv platform
    cpufreq: at32ap: don't declare local variable as static
    cpufreq: loongson2_cpufreq: don't declare local variable as static
    cpufreq: unicore32: fix typo issue for 'clk'
    cpufreq: exynos: Disable on multiplatform build
    PM / wakeup: Correct presence vs. emptiness of wakeup_* attributes
    PM / domains: Add pd_ignore_unused to keep power domains enabled
    ACPI / dock: Drop dock_device_ids[] table
    ACPI / video: Favor native backlight interface for ThinkPad Helix
    ACPI / thermal: Fix wrong variable usage in debug statement
    ...

    Linus Torvalds
     

08 Apr, 2014

3 commits

  • * pm-cpuidle:
    cpuidle: sysfs: Export target residency information
    intel_idle: fine-tune IVT residency targets
    tools/power turbostat: Run on Broadwell
    tools/power turbostat: simplify output, add Avg_MHz
    intel_idle: Add CPU model 54 (Atom N2000 series)
    intel_idle: support Bay Trail
    intel_idle: allow sparse sub-state numbering, for Bay Trail
    ACPI idle: permit sparse C-state sub-state numbers

    Rafael J. Wysocki
     
  • Pull intel_idle and turbostat material for v3.15-rc1 from Len Brown.

    * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
    intel_idle: fine-tune IVT residency targets
    tools/power turbostat: Run on Broadwell
    tools/power turbostat: simplify output, add Avg_MHz
    intel_idle: Add CPU model 54 (Atom N2000 series)
    intel_idle: support Bay Trail
    intel_idle: allow sparse sub-state numbering, for Bay Trail
    ACPI idle: permit sparse C-state sub-state numbers

    Rafael J. Wysocki
     
  • After this patch 'page-types' can walk over a file's mappings and
    analyze populated page cache pages mostly without disturbing its state.

    It maps chunk of file, marks VMA as MADV_RANDOM to turn off readahead,
    pokes VMA via mincore() to determine cached pages, triggers page-fault
    only for them, and finally gathers information via pagemap/kpageflags.
    Before unmap it marks VMA as MADV_SEQUENTIAL for ignoring reference
    bits.

    usage: page-types -f

    If is directory it will analyse all files in all subdirectories.

    Symlinks are not followed as well as mount points. Hardlinks aren't
    handled, they'll be dumped as many times as they are found. Recursive
    walk brings all dentries into dcache and populates page cache of
    block-devices aka 'Buffers'.

    Probably it's worth to add ioctl for dumping file page cache as array of
    PFNs as a replacement for this hackish juggling with
    mmap/madvise/mincore/pagemap. Also recursive walk could be replaced
    with dumping cached inodes via some ioctl or debugfs interface followed
    by openning them via open_by_handle_at, this would fix hardlinks
    handling and unneeded population of dcache and buffers. This interface
    might be used as data source for constructing readahead plans and for
    background optimizations of actively used files.

    collateral changes:
    + fix 64-bit LFS: define _FILE_OFFSET_BITS instead of _LARGEFILE64_SOURCE
    + replace lseek + read with single pread
    + make show_page_range() reusable after flush

    usage example:

    ~/src/linux/tools/vm$ sudo ./page-types -L -f page-types
    foffset offset flags
    page-types Inode: 2229277 Size: 89065 (22 pages)
    Modify: Tue Feb 25 12:00:59 2014 (162 seconds ago)
    Access: Tue Feb 25 12:01:00 2014 (161 seconds ago)
    0 3cbf3b __RU_lA____M________________________
    1 38946a __RU_lA____M________________________
    2 1a3cec __RU_lA____M________________________
    3 1a8321 __RU_lA____M________________________
    4 3af7cc __RU_lA____M________________________
    5 1ed532 __RU_lA_____________________________
    6 2e436a __RU_lA_____________________________
    7 29a35e ___U_lA_____________________________
    8 2de86e ___U_lA_____________________________
    9 3bdfb4 ___U_lA_____________________________
    10 3cd8a3 ___U_lA_____________________________
    11 2afa50 ___U_lA_____________________________
    12 2534c2 ___U_lA_____________________________
    13 1b7a40 ___U_lA_____________________________
    14 17b0be ___U_lA_____________________________
    15 392b0c ___U_lA_____________________________
    16 3ba46a __RU_lA_____________________________
    17 397dc8 ___U_lA_____________________________
    18 1f2a36 ___U_lA_____________________________
    19 21fd30 __RU_lA_____________________________
    20 2c35ba __RU_l______________________________
    21 20f181 __RU_l______________________________

    flags page-count MB symbolic-flags long-symbolic-flags
    0x000000000000002c 2 0 __RU_l______________________________ referenced,uptodate,lru
    0x0000000000000068 11 0 ___U_lA_____________________________ uptodate,lru,active
    0x000000000000006c 4 0 __RU_lA_____________________________ referenced,uptodate,lru,active
    0x000000000000086c 5 0 __RU_lA____M________________________ referenced,uptodate,lru,active,mmap
    total 22 0

    ~/src/linux/tools/vm$ sudo ./page-types -f /
    flags page-count MB symbolic-flags long-symbolic-flags
    0x0000000000000028 21761 85 ___U_l______________________________ uptodate,lru
    0x000000000000002c 127279 497 __RU_l______________________________ referenced,uptodate,lru
    0x0000000000000068 74160 289 ___U_lA_____________________________ uptodate,lru,active
    0x000000000000006c 84469 329 __RU_lA_____________________________ referenced,uptodate,lru,active
    0x000000000000007c 1 0 __RUDlA_____________________________ referenced,uptodate,dirty,lru,active
    0x0000000000000228 370 1 ___U_l___I__________________________ uptodate,lru,reclaim
    0x0000000000000828 49 0 ___U_l_____M________________________ uptodate,lru,mmap
    0x000000000000082c 126 0 __RU_l_____M________________________ referenced,uptodate,lru,mmap
    0x0000000000000868 137 0 ___U_lA____M________________________ uptodate,lru,active,mmap
    0x000000000000086c 12890 50 __RU_lA____M________________________ referenced,uptodate,lru,active,mmap
    total 321242 1254

    Signed-off-by: Konstantin Khlebnikov
    Cc: Arnaldo Carvalho de Melo
    Cc: Fengguang Wu
    Cc: Borislav Petkov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Konstantin Khlebnikov
     

06 Apr, 2014

1 commit

  • Pull arch/tile updates from Chris Metcalf:
    "These fix a few stray build issues seen in linux-next, and also add
    the minimal required support for perf to tilegx"

    * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
    arch/tile: remove unused variable 'devcap'
    tile: Fix vDSO compilation issue with allyesconfig
    perf tools: Allow building for tile
    tile/perf: Support perf_events on tilegx and tilepro
    tile: Enable NMIs on return from handle_nmi() without errors
    tile: Add support for handling PMC hardware
    tile: don't use __get_cpu_var() with structure-typed arguments
    tile: avoid overflow in ns2cycles

    Linus Torvalds
     

05 Apr, 2014

2 commits


03 Apr, 2014

3 commits

  • Pull networking updates from David Miller:
    "Here is my initial pull request for the networking subsystem during
    this merge window:

    1) Support for ESN in AH (RFC 4302) from Fan Du.

    2) Add full kernel doc for ethtool command structures, from Ben
    Hutchings.

    3) Add BCM7xxx PHY driver, from Florian Fainelli.

    4) Export computed TCP rate information in netlink socket dumps, from
    Eric Dumazet.

    5) Allow IPSEC SA to be dumped partially using a filter, from Nicolas
    Dichtel.

    6) Convert many drivers to pci_enable_msix_range(), from Alexander
    Gordeev.

    7) Record SKB timestamps more efficiently, from Eric Dumazet.

    8) Switch to microsecond resolution for TCP round trip times, also
    from Eric Dumazet.

    9) Clean up and fix 6lowpan fragmentation handling by making use of
    the existing inet_frag api for it's implementation.

    10) Add TX grant mapping to xen-netback driver, from Zoltan Kiss.

    11) Auto size SKB lengths when composing netlink messages based upon
    past message sizes used, from Eric Dumazet.

    12) qdisc dumps can take a long time, add a cond_resched(), From Eric
    Dumazet.

    13) Sanitize netpoll core and drivers wrt. SKB handling semantics.
    Get rid of never-used-in-tree netpoll RX handling. From Eric W
    Biederman.

    14) Support inter-address-family and namespace changing in VTI tunnel
    driver(s). From Steffen Klassert.

    15) Add Altera TSE driver, from Vince Bridgers.

    16) Optimizing csum_replace2() so that it doesn't adjust the checksum
    by checksumming the entire header, from Eric Dumazet.

    17) Expand BPF internal implementation for faster interpreting, more
    direct translations into JIT'd code, and much cleaner uses of BPF
    filtering in non-socket ocntexts. From Daniel Borkmann and Alexei
    Starovoitov"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1976 commits)
    netpoll: Use skb_irq_freeable to make zap_completion_queue safe.
    net: Add a test to see if a skb is freeable in irq context
    qlcnic: Fix build failure due to undefined reference to `vxlan_get_rx_port'
    net: ptp: move PTP classifier in its own file
    net: sxgbe: make "core_ops" static
    net: sxgbe: fix logical vs bitwise operation
    net: sxgbe: sxgbe_mdio_register() frees the bus
    Call efx_set_channels() before efx->type->dimension_resources()
    xen-netback: disable rogue vif in kthread context
    net/mlx4: Set proper build dependancy with vxlan
    be2net: fix build dependency on VxLAN
    mac802154: make csma/cca parameters per-wpan
    mac802154: allow only one WPAN to be up at any given time
    net: filter: minor: fix kdoc in __sk_run_filter
    netlink: don't compare the nul-termination in nla_strcmp
    can: c_can: Avoid led toggling for every packet.
    can: c_can: Simplify TX interrupt cleanup
    can: c_can: Store dlc private
    can: c_can: Reduce register access
    can: c_can: Make the code readable
    ...

    Linus Torvalds
     
  • Pull virtio updates from Rusty Russell:
    "Nothing exciting: virtio-blk users might see a bit of a boost from the
    doubling of the default queue length though"

    * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    virtio-blk: base queue-depth on virtqueue ringsize or module param
    Revert a02bbb1ccfe8: MAINTAINERS: add virtio-dev ML for virtio
    virtio: fail adding buffer on broken queues.
    virtio-rng: don't crash if virtqueue is broken.
    virtio_balloon: don't crash if virtqueue is broken.
    virtio_blk: don't crash, report error if virtqueue is broken.
    virtio_net: don't crash if virtqueue is broken.
    virtio_balloon: don't softlockup on huge balloon changes.
    virtio: Use pci_enable_msix_exact() instead of pci_enable_msix()
    MAINTAINERS: virtio-dev is subscribers only
    tools/virtio: add a missing )
    tools/virtio: fix missing kmemleak_ignore symbol
    tools/virtio: update internal copies of headers

    Linus Torvalds
     
  • Pull main powerpc updates from Ben Herrenschmidt:
    "This time around, the powerpc merges are going to be a little bit more
    complicated than usual.

    This is the main pull request with most of the work for this merge
    window. I will describe it a bit more further down.

    There is some additional cpuidle driver work, however I haven't
    included it in this tree as it depends on some work in tip/timer-core
    which Thomas accidentally forgot to put in a topic branch. Since I
    didn't want to carry all of that tip timer stuff in powerpc -next, I
    setup a separate branch on top of Thomas tree with just that cpuidle
    driver in it, and Stephen has been carrying that in next separately
    for a while now. I'll send a separate pull request for it.

    Additionally, two new pieces in this tree add users for a sysfs API
    that Tejun and Greg have been deprecating in drivers-core-next.
    Thankfully Greg reverted the patch that removes the old API so this
    merge can happen cleanly, but once merged, I will send a patch
    adjusting our new code to the new API so that Greg can send you the
    removal patch.

    Now as for the content of this branch, we have a lot of perf work for
    power8 new counters including support for our new "nest" counters
    (also called 24x7) under pHyp (not natively yet).

    We have new functionality when running under the OPAL firmware
    (non-virtualized or KVM host), such as access to the firmware error
    logs and service processor dumps, system parameters and sensors, along
    with a hwmon driver for the latter.

    There's also a bunch of bug fixes accross the board, some LE fixes,
    and a nice set of selftests for validating our various types of copy
    loops.

    On the Freescale side, we see mostly new chip/board revisions, some
    clock updates, better support for machine checks and debug exceptions,
    etc..."

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (70 commits)
    powerpc/book3s: Fix CFAR clobbering issue in machine check handler.
    powerpc/compat: 32-bit little endian machine name is ppcle, not ppc
    powerpc/le: Big endian arguments for ppc_rtas()
    powerpc: Use default set of netfilter modules (CONFIG_NETFILTER_ADVANCED=n)
    powerpc/defconfigs: Enable THP in pseries defconfig
    powerpc/mm: Make sure a local_irq_disable prevent a parallel THP split
    powerpc: Rate-limit users spamming kernel log buffer
    powerpc/perf: Fix handling of L3 events with bank == 1
    powerpc/perf/hv_{gpci, 24x7}: Add documentation of device attributes
    powerpc/perf: Add kconfig option for hypervisor provided counters
    powerpc/perf: Add support for the hv 24x7 interface
    powerpc/perf: Add support for the hv gpci (get performance counter info) interface
    powerpc/perf: Add macros for defining event fields & formats
    powerpc/perf: Add a shared interface to get gpci version and capabilities
    powerpc/perf: Add 24x7 interface headers
    powerpc/perf: Add hv_gpci interface header
    powerpc: Add hvcalls for 24x7 and gpci (Get Performance Counter Info)
    sysfs: create bin_attributes under the requested group
    powerpc/perf: Enable BHRB access for EBB events
    powerpc/perf: Add BHRB constraint and IFM MMCRA handling for EBB
    ...

    Linus Torvalds
     

02 Apr, 2014

1 commit

  • Pull char/misc driver patches from Greg KH:
    "Here's the big char/misc driver updates for 3.15-rc1.

    Lots of various things here, including the new mcb driver subsystem.

    All of these have been in linux-next for a while"

    * tag 'char-misc-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (118 commits)
    extcon: Move OF helper function to extcon core and change function name
    extcon: of: Remove unnecessary function call by using the name of device_node
    extcon: gpio: Use SIMPLE_DEV_PM_OPS macro
    extcon: palmas: Use SIMPLE_DEV_PM_OPS macro
    mei: don't use deprecated DEFINE_PCI_DEVICE_TABLE macro
    mei: amthif: fix checkpatch error
    mei: client.h fix checkpatch errors
    mei: use cl_dbg where appropriate
    mei: fix Unnecessary space after function pointer name
    mei: report consistently copy_from/to_user failures
    mei: drop pr_fmt macros
    mei: make me hw headers private to me hw.
    mei: fix memory leak of pending write cb objects
    mei: me: do not reset when less than expected data is received
    drivers: mcb: Fix build error discovered by 0-day bot
    cs5535-mfgpt: Simplify dependencies
    spmi: pm: drop bus-level PM suspend/resume routines
    spmi: pmic_arb: make selectable on ARCH_QCOM
    Drivers: hv: vmbus: Increase the limit on the number of pfns we can handle
    pch_phub: Report error writing MAC back to user
    ...

    Linus Torvalds
     

01 Apr, 2014

4 commits

  • Add proper versioning to the shared obj so that distros would be
    able to ship this lib without having to worry about versioning.

    Suggested-by: Josh Boyer
    Signed-off-by: Sasha Levin

    Sasha Levin
     
  • Commit 63f9a7fde7 "asmlinkage: Make lockdep_sys_exit asmlinkage" has added
    asmlinkage annotation to lockdep_sys_exit, which broke build of liblockdep.

    Since we don't need asmlinkage in liblockep, just ignore it.

    Reported-by: Eunbong Song
    Reported-by: Robin Hack
    Signed-off-by: Sasha Levin

    Sasha Levin
     
  • Pull perf changes from Ingo Molnar:
    "Main changes:

    Kernel side changes:

    - Add SNB/IVB/HSW client uncore memory controller support (Stephane
    Eranian)

    - Fix various x86/P4 PMU driver bugs (Don Zickus)

    Tooling, user visible changes:

    - Add several futex 'perf bench' microbenchmarks (Davidlohr Bueso)

    - Speed up thread map generation (Don Zickus)

    - Introduce 'perf kvm --list-cmds' command line option for use by
    scripts (Ramkumar Ramachandra)

    - Print the evsel name in the annotate stdio output, prep to fix
    support outputting annotation for multiple events, not just for the
    first one (Arnaldo Carvalho de Melo)

    - Allow setting preferred callchain method in .perfconfig (Jiri Olsa)

    - Show in what binaries/modules 'perf probe's are set (Masami
    Hiramatsu)

    - Support distro-style debuginfo for uprobe in 'perf probe' (Masami
    Hiramatsu)

    Tooling, internal changes and fixes:

    - Use tid in mmap/mmap2 events to find maps (Don Zickus)

    - Record the reason for filtering an address_location (Namhyung Kim)

    - Apply all filters to an addr_location (Namhyung Kim)

    - Merge al->filtered with hist_entry->filtered in report/hists
    (Namhyung Kim)

    - Fix memory leak when synthesizing thread records (Namhyung Kim)

    - Use ui__has_annotation() in 'report' (Namhyung Kim)

    - hists browser refactorings to reuse code accross UIs (Namhyung Kim)

    - Add support for the new DWARF unwinder library in elfutils (Jiri
    Olsa)

    - Fix build race in the generation of bison files (Jiri Olsa)

    - Further streamline the feature detection display, trimming it a bit
    to show just the libraries detected, using VF=1 gets a more verbose
    output, showing the less interesting feature checks as well (Jiri
    Olsa).

    - Check compatible symtab type before loading dso (Namhyung Kim)

    - Check return value of filename__read_debuglink() (Stephane Eranian)

    - Move some hashing and fs related code from tools/perf/util/ to
    tools/lib/ so that it can be used by more tools/ living utilities
    (Borislav Petkov)

    - Prepare DWARF unwinding code for using an elfutils alternative
    unwinding library (Jiri Olsa)

    - Fix DWARF unwind max_stack processing (Jiri Olsa)

    - Add dwarf unwind 'perf test' entry (Jiri Olsa)

    - 'perf probe' improvements including memory leak fixes, sharing the
    intlist class with other tools, uprobes/kprobes code sharing and
    use of ref_reloc_sym (Masami Hiramatsu)

    - Shorten sample symbol resolving by adding cpumode to struct
    addr_location (Arnaldo Carvalho de Melo)

    - Fix synthesizing mmaps for threads (Don Zickus)

    - Fix invalid output on event group stdio report (Namhyung Kim)

    - Fixup header alignment in 'perf sched latency' output (Ramkumar
    Ramachandra)

    - Fix off-by-one error in 'perf timechart record' argv handling
    (Ramkumar Ramachandra)

    Tooling, cleanups:

    - Remove unused thread__find_map function (Jiri Olsa)

    - Remove unused simple_strtoul() function (Ramkumar Ramachandra)

    Tooling, documentation updates:

    - Update function names in debug messages (Ramkumar Ramachandra)

    - Update some code references in design.txt (Ramkumar Ramachandra)

    - Clarify load-latency information in the 'perf mem' docs (Andi
    Kleen)

    - Clarify x86 register naming in 'perf probe' docs (Andi Kleen)"

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (96 commits)
    perf tools: Remove unused simple_strtoul() function
    perf tools: Update some code references in design.txt
    perf evsel: Update function names in debug messages
    perf tools: Remove thread__find_map function
    perf annotate: Print the evsel name in the stdio output
    perf report: Use ui__has_annotation()
    perf tools: Fix memory leak when synthesizing thread records
    perf tools: Use tid in mmap/mmap2 events to find maps
    perf report: Merge al->filtered with hist_entry->filtered
    perf symbols: Apply all filters to an addr_location
    perf symbols: Record the reason for filtering an address_location
    perf sched: Fixup header alignment in 'latency' output
    perf timechart: Fix off-by-one error in 'record' argv handling
    perf machine: Factor machine__find_thread to take tid argument
    perf tools: Speed up thread map generation
    perf kvm: introduce --list-cmds for use by scripts
    perf ui hists: Pass evsel to hpp->header/width functions explicitly
    perf symbols: Introduce thread__find_cpumode_addr_location
    perf session: Change header.misc dump from decimal to hex
    perf ui/tui: Reuse generic __hpp__fmt() code
    ...

    Linus Torvalds
     
  • Pull RCU updates from Ingo Molnar:
    "Main changes:

    - Torture-test changes, including refactoring of rcutorture and
    introduction of a vestigial locktorture.

    - Real-time latency fixes.

    - Documentation updates.

    - Miscellaneous fixes"

    * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (77 commits)
    rcu: Provide grace-period piggybacking API
    rcu: Ensure kernel/rcu/rcu.h can be sourced/used stand-alone
    rcu: Fix sparse warning for rcu_expedited from kernel/ksysfs.c
    notifier: Substitute rcu_access_pointer() for rcu_dereference_raw()
    Documentation/memory-barriers.txt: Clarify release/acquire ordering
    rcutorture: Save kvm.sh output to log
    rcutorture: Add a lock_busted to test the test
    rcutorture: Place kvm-test-1-run.sh output into res directory
    rcutorture: Rename TREE_RCU-Kconfig.txt
    locktorture: Add kvm-recheck.sh plug-in for locktorture
    rcutorture: Gracefully handle NULL cleanup hooks
    locktorture: Add vestigial locktorture configuration
    rcutorture: Introduce "rcu" directory level underneath configs
    rcutorture: Rename kvm-test-1-rcu.sh
    rcutorture: Remove RCU dependencies from ver_functions.sh API
    rcutorture: Create CFcommon file for common Kconfig parameters
    rcutorture: Create config files for scripted test-the-test testing
    rcutorture: Add an rcu_busted to test the test
    locktorture: Add a lock-torture kernel module
    rcutorture: Abstract kvm-recheck.sh
    ...

    Linus Torvalds
     

26 Mar, 2014

1 commit