01 Dec, 2015

1 commit

  • When support for _FIT was added, the code presumed that the data
    returned by the _FIT method is identical to the NFIT table, which
    starts with an acpi_table_header. However, the _FIT is defined
    to return a data in the format of a series of NFIT type structure
    entries and as a method, has an acpi_object header rather tahn
    an acpi_table_header.

    To address the differences, explicitly save the acpi_table_header
    from the NFIT, since it is accessible through /sys, and change
    the nfit pointer in the acpi_desc structure to point to the
    table entries rather than the headers.

    Reported-by: Jeff Moyer (jmoyer@redhat.com>
    Signed-off-by: Linda Knippers
    Acked-by: Vishal Verma
    [vishal: fix up unit test for new header assumptions]
    Signed-off-by: Dan Williams

    Linda Knippers
     

24 Nov, 2015

1 commit


23 Nov, 2015

1 commit

  • Pull perf tool fixes from Thomas Gleixner:
    "A couple of fixes for perf tools:

    - Build system updates

    - Plug a memory leak in an error path of perf probe

    - Tear down probes correctly when adding fails

    - Fixes to the perf symbol handling

    - Fix ordering of event processing in buildid-list

    - Fix per DSO filtering in the histogram browser"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf probe: Clear probe_trace_event when add_probe_trace_event() fails
    perf probe: Fix memory leaking on failure by clearing all probe_trace_events
    perf inject: Also re-pipe lost_samples event
    perf buildid-list: Requires ordered events
    perf symbols: Fix dso lookup by long name and missing buildids
    perf symbols: Allow forcing reading of non-root owned files by root
    perf hists browser: The dso can be obtained from popup_action->ms.map->dso
    perf hists browser: Fix 'd' hotkey action to filter by DSO
    perf symbols: Rebuild rbtree when adjusting symbols for kcore
    tools: Add a "make all" rule
    tools: Actually install tmon in the install rule

    Linus Torvalds
     

21 Nov, 2015

2 commits

  • PageIdle is exported in include/uapi/linux/kernel-page-flags.h, so let's
    make page-types.c tool handle it.

    Signed-off-by: Naoya Horiguchi
    Reviewed-by: Vladimir Davydov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Naoya Horiguchi
     
  • Pull more power management and ACPI updates from Rafael Wysocki:
    "These are mostly fixes and cleanups (ACPI core, PM core, cpufreq, ACPI
    EC driver, device properties) including three reverts of recent
    intel_pstate driver commits due to a regression introduced by one of
    them plus support for Atom Airmont cores in intel_pstate (which really
    boils down to adding new frequency tables for Airmont) and additional
    turbostat updates.

    Specifics:

    - Revert three recent intel_pstate driver commits one of which
    introduced a regression and the remaining two depend on the
    problematic one (Rafael Wysocki).

    - Fix breakage related to the recently introduced ACPI _CCA object
    support in the PCI DMA setup code (Suravee Suthikulpanit).

    - Fix up the recently introduced ACPI CPPC support to only use the
    hardware-reduced version of the PCCT structure as the only
    architecture to support it (ARM64) will only use hardware-reduced
    ACPI anyway (Ashwin Chaugule).

    - Fix a cpufreq mediatek driver build problem (Arnd Bergmann).

    - Fix the SMBus transaction handling implementation in the ACPI core
    to avoid re-entrant calls to wait_event_timeout() which makes
    intermittent boot stalls related to the Smart Battery Subsystem
    initialization go away and revert a workaround of another problem
    with the same underlying root cause (Chris Bainbridge).

    - Fix the generic wakeup interrupts framework to avoid using invalid
    IRQ numbers (Dmitry Torokhov).

    - Remove a redundant check from the ACPI EC driver (Markus Elfring).

    - Modify the intel_pstate driver so it can support more Atom flavors
    than just one (Baytrail) and add support for Atom Airmont cores
    (which require new freqnency tables) to it (Philippe Longepe).

    - Clean up MSR-related symbols in turbostat (Len Brown)"

    * tag 'pm+acpi-4.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    PCI: Fix OF logic in pci_dma_configure()
    Revert "Documentation: kernel_parameters for Intel P state driver"
    cpufreq: mediatek: fix build error
    cpufreq: intel_pstate: Add separate support for Airmont cores
    cpufreq: intel_pstate: Replace BYT with ATOM
    Revert "cpufreq: intel_pstate: Use ACPI perf configuration"
    Revert "cpufreq: intel_pstate: Avoid calculation for max/min"
    ACPI-EC: Drop unnecessary check made before calling acpi_ec_delete_query()
    Revert "ACPI / SBS: Add 5 us delay to fix SBS hangs on MacBook"
    ACPI / SMBus: Fix boot stalls / high CPU caused by reentrant code
    PM / wakeirq: check that wake IRQ is valid before accepting it
    ACPI / CPPC: Use h/w reduced version of the PCCT structure
    x86: remove unused definition of MSR_NHM_PLATFORM_INFO
    tools/power turbostat: use new name for MSR_PLATFORM_INFO

    Linus Torvalds
     

19 Nov, 2015

1 commit

  • The commit fd88d16c58c2 ("selftests/seccomp: Be more precise with
    syscall arguments.") use PAGE_SIZE directly which lead to build
    failure on arm64.

    Replace it with generic interface(sysconf(_SC_PAGESIZE)) to fix this
    failure.

    Build and test successful on x86_64 and arm64.

    Signed-off-by: Bamvor Jian Zhang
    Acked-by: Kees Cook
    Tested-by: Michael Ellerman
    Signed-off-by: Shuah Khan

    Bamvor Jian Zhang
     

18 Nov, 2015

1 commit

  • Pull networking fixes from David Miller:

    1) Fix list tests in netfilter ingress support, from Florian Westphal.

    2) Fix reversal of input and output interfaces in ingress hook
    invocation, from Pablo Neira Ayuso.

    3) We have a use after free in r8169, caught by Dave Jones, fixed by
    Francois Romieu.

    4) Splice use-after-free fix in AF_UNIX frmo Hannes Frederic Sowa.

    5) Three ipv6 route handling bug fixes from Martin KaFai Lau:
    a) Don't create clone routes not managed by the fib6 tree
    b) Don't forget to check expiration of DST_NOCACHE routes.
    c) Handle rt->dst.from == NULL properly.

    6) Several AF_PACKET fixes wrt transport header setting and SKB
    protocol setting, from Daniel Borkmann.

    7) Fix thunder driver crash on shutdown, from Pavel Fedin.

    8) Several Mellanox driver fixes (max MTU calculations, use of correct
    DMA unmap in TX path, etc.) from Saeed Mahameed, Tariq Toukan, Doron
    Tsur, Achiad Shochat, Eran Ben Elisha, and Noa Osherovich.

    9) Several mv88e6060 DSA driver fixes (wrong bit definitions for
    certain registers, etc.) from Neil Armstrong.

    10) Make sure to disable preemption while updating per-cpu stats of ip
    tunnels, from Jason A. Donenfeld.

    11) Various ARM64 bpf JIT fixes, from Yang Shi.

    12) Flush icache properly in ARM JITs, from Daniel Borkmann.

    13) Fix masking of RX and TX interrupts in ravb driver, from Masaru
    Nagai.

    14) Fix netdev feature propagation for devices not implementing
    ->ndo_set_features(). From Nikolay Aleksandrov.

    15) Big endian fix in vmxnet3 driver, from Shrikrishna Khare.

    16) RAW socket code increments incorrect SNMP counters, fix from Ben
    Cartwright-Cox.

    17) IPv6 multicast SNMP counters are bumped twice, fix from Neil Horman.

    18) Fix handling of VLAN headers on stacked devices when REORDER is
    disabled. From Vlad Yasevich.

    19) Fix SKB leaks and use-after-free in ipvlan and macvlan drivers, from
    Sabrina Dubroca.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (83 commits)
    MAINTAINERS: Update Mellanox's Eth NIC driver entries
    net/core: revert "net: fix __netdev_update_features return.." and add comment
    af_unix: take receive queue lock while appending new skb
    rtnetlink: fix frame size warning in rtnl_fill_ifinfo
    net: use skb_clone to avoid alloc_pages failure.
    packet: Use PAGE_ALIGNED macro
    packet: Don't check frames_per_block against negative values
    net: phy: Use interrupts when available in NOLINK state
    phy: marvell: Add support for 88E1540 PHY
    arm64: bpf: make BPF prologue and epilogue align with ARM64 AAPCS
    macvlan: fix leak in macvlan_handle_frame
    ipvlan: fix use after free of skb
    ipvlan: fix leak in ipvlan_rcv_frame
    vlan: Do not put vlan headers back on bridge and macvlan ports
    vlan: Fix untag operations of stacked vlans with REORDER_HEADER off
    via-velocity: unconditionally drop frames with bad l2 length
    ipg: Remove ipg driver
    dl2k: Add support for IP1000A-based cards
    snmp: Remove duplicate OUTMCAST stat increment
    net: thunder: Check for driver data in nicvf_remove()
    ...

    Linus Torvalds
     

17 Nov, 2015

2 commits


16 Nov, 2015

3 commits

  • Use the local uapi headers to keep in sync with "recently" added #define's
    (e.g. SKF_AD_VLAN_TPID). Refactored CFLAGS, and bpf_asm doesn't need -I.

    Fixes: 3f356385e8a4 ("filter: bpf_asm: add minimal bpf asm tool")
    Signed-off-by: Kamal Mostafa
    Acked-by: Daniel Borkmann
    Signed-off-by: David S. Miller

    Kamal Mostafa
     
  • Pull perf updates from Thomas Gleixner:
    "Mostly updates to the perf tool plus two fixes to the kernel core code:

    - Handle tracepoint filters correctly for inherited events (Peter
    Zijlstra)

    - Prevent a deadlock in perf_lock_task_context (Paul McKenney)

    - Add missing newlines to some pr_err() calls (Arnaldo Carvalho de
    Melo)

    - Print full source file paths when using 'perf annotate --print-line
    --full-paths' (Michael Petlan)

    - Fix 'perf probe -d' when just one out of uprobes and kprobes is
    enabled (Wang Nan)

    - Add compiler.h to list.h to fix 'make perf-tar-src-pkg' generated
    tarballs, i.e. out of tree building (Arnaldo Carvalho de Melo)

    - Add the llvm-src-base.c and llvm-src-kbuild.c files, generated by
    the 'perf test' LLVM entries, when running it in-tree, to
    .gitignore (Yunlong Song)

    - libbpf error reporting improvements, using a strerror interface to
    more precisely tell the user about problems with the provided
    scriptlet, be it in C or as a ready made object file (Wang Nan)

    - Do not be case sensitive when searching for matching 'perf test'
    entries (Arnaldo Carvalho de Melo)

    - Inform the user about objdump failures in 'perf annotate' (Andi
    Kleen)

    - Improve the LLVM 'perf test' entry, introduce a new ones for BPF
    and kbuild tests to check the environment used by clang to compile
    .c scriptlets (Wang Nan)"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (32 commits)
    perf/x86/intel/rapl: Remove the unused RAPL_EVENT_DESC() macro
    tools include: Add compiler.h to list.h
    perf probe: Verify parameters in two functions
    perf session: Add missing newlines to some pr_err() calls
    perf annotate: Support full source file paths for srcline fix
    perf test: Add llvm-src-base.c and llvm-src-kbuild.c to .gitignore
    perf: Fix inherited events vs. tracepoint filters
    perf: Disable IRQs across RCU RS CS that acquires scheduler lock
    perf test: Do not be case sensitive when searching for matching tests
    perf test: Add 'perf test BPF'
    perf test: Enhance the LLVM tests: add kbuild test
    perf test: Enhance the LLVM test: update basic BPF test program
    perf bpf: Improve BPF related error messages
    perf tools: Make fetch_kernel_version() publicly available
    bpf tools: Add new API bpf_object__get_kversion()
    bpf tools: Improve libbpf error reporting
    perf probe: Cleanup find_perf_probe_point_from_map to reduce redundancy
    perf annotate: Inform the user about objdump failures in --stdio
    perf stat: Make stat options global
    perf sched latency: Fix thread pid reuse issue
    ...

    Linus Torvalds
     
  • Pull liblockdep fixes from Thomas Gleixner:
    "Three small patches to synchronize liblockdep with the latest core
    changes"

    * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    tools/liblockdep: explicitly declare lockdep API we call from liblockdep
    tools/liblockdep: add userspace versions of WRITE_ONCE and RCU_INIT_POINTER
    tools/liblockdep: remove task argument from debug_check_no_locks_held

    Linus Torvalds
     

14 Nov, 2015

2 commits


13 Nov, 2015

12 commits

  • When probing with a glob, errors in add_probe_trace_event() won't be
    passed to debuginfo__find_trace_events() because it would be modified by
    probe_point_search_cb(). It causes a segfault if perf fails to find an
    argument for a probe point matched by the glob. For example:

    # ./perf probe -v -n 'SyS_dup? oldfd'
    probe-definition(0): SyS_dup? oldfd
    symbol:SyS_dup? file:(null) line:0 offset:0 return:0 lazy:(null)
    parsing arg: oldfd into oldfd
    1 arguments
    Looking at the vmlinux_path (7 entries long)
    Using /lib/modules/4.3.0-rc4+/build/vmlinux for symbols
    Open Debuginfo file: /lib/modules/4.3.0-rc4+/build/vmlinux
    Try to find probe point from debuginfo.
    Matched function: SyS_dup3
    found inline addr: 0xffffffff812095c0
    Probe point found: SyS_dup3+0
    Searching 'oldfd' variable in context.
    Converting variable oldfd into trace event.
    oldfd type is long int.
    found inline addr: 0xffffffff812096d4
    Probe point found: SyS_dup2+36
    Searching 'oldfd' variable in context.
    Failed to find 'oldfd' in this function.
    Matched function: SyS_dup3
    Probe point found: SyS_dup3+0
    Searching 'oldfd' variable in context.
    Converting variable oldfd into trace event.
    oldfd type is long int.
    Matched function: SyS_dup2
    Probe point found: SyS_dup2+0
    Searching 'oldfd' variable in context.
    Converting variable oldfd into trace event.
    oldfd type is long int.
    Found 4 probe_trace_events.
    Opening /sys/kernel/debug/tracing//kprobe_events write=1
    Writing event: p:probe/SyS_dup3 _text+2135488 oldfd=%di:s64
    Segmentation fault (core dumped)
    #

    This patch ensures that add_probe_trace_event() doesn't touches
    tf->ntevs and tf->tevs if those functions fail.

    After the patch:

    # perf probe 'SyS_dup? oldfd'
    Failed to find 'oldfd' in this function.
    Added new events:
    probe:SyS_dup3 (on SyS_dup? with oldfd)
    probe:SyS_dup3_1 (on SyS_dup? with oldfd)
    probe:SyS_dup2 (on SyS_dup? with oldfd)

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

    perf record -e probe:SyS_dup2 -aR sleep 1

    Signed-off-by: Wang Nan
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Alexei Starovoitov
    Cc: Masami Hiramatsu
    Cc: Zefan Li
    Cc: pi3orama@163.com
    Link: http://lkml.kernel.org/r/1447417761-156094-3-git-send-email-wangnan0@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Wang Nan
     
  • Fix memory leaking on the debuginfo__find_trace_events() failure path
    which frees an array of probe_trace_events but doesn't clears all the
    allocated sub-structures and strings.

    So, before doing zfree(tevs), clear all the array elements which may
    have allocated resources.

    Reported-by: Wang Nan
    Signed-off-by: Masami Hiramatsu
    Cc: Alexei Starovoitov
    Cc: Zefan Li
    Cc: pi3orama@163.com
    Link: http://lkml.kernel.org/r/1447417761-156094-2-git-send-email-wangnan0@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Masami Hiramatsu
     
  • perf inject must re-pipe all events otherwise they get dropped from the
    output file.

    Signed-off-by: Adrian Hunter
    Cc: Jiri Olsa
    Link: http://lkml.kernel.org/r/1447408112-1920-4-git-send-email-adrian.hunter@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Adrian Hunter
     
  • 'perf buildid-list' processes events to determine hits (i.e. with-hits
    option). That may not work if events are not sorted in order. i.e. MMAP
    events must be processed before the samples that depend on them so that
    sample processing can 'hit' the DSO to which the MMAP refers.

    Signed-off-by: Adrian Hunter
    Cc: Jiri Olsa
    Link: http://lkml.kernel.org/r/1447408112-1920-3-git-send-email-adrian.hunter@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Adrian Hunter
     
  • Commit 4598a0a6d22f ("perf symbols: Improve DSO long names lookup speed
    with rbtree") Added a tree to lookup dsos by long name. That tree gets
    corrupted whenever a dso long name is changed because the tree is not
    updated.

    One effect of that is buildid-list does not work with the 'with-hits'
    option because dso lookup fails and results in two structs for the same
    dso. The first has the buildid but no hits, the second has hits but no
    buildid. e.g.

    Before:

    $ tools/perf/perf record ls
    arch certs CREDITS Documentation firmware include
    ipc Kconfig lib Makefile net REPORTING-BUGS
    scripts sound usr block COPYING crypto
    drivers fs init Kbuild kernel MAINTAINERS
    mm README samples security tools virt
    [ perf record: Woken up 1 times to write data ]
    [ perf record: Captured and wrote 0.012 MB perf.data (11 samples) ]
    $ tools/perf/perf buildid-list
    574da826c66538a8d9060d393a8866289bd06005 [kernel.kallsyms]
    30c94dc66a1fe95180c3d68d2b89e576d5ae213c /lib/x86_64-linux-gnu/libc-2.19.so
    $ tools/perf/perf buildid-list -H
    574da826c66538a8d9060d393a8866289bd06005 [kernel.kallsyms]
    0000000000000000000000000000000000000000 /lib/x86_64-linux-gnu/libc-2.19.so

    After:

    $ tools/perf/perf buildid-list -H
    574da826c66538a8d9060d393a8866289bd06005 [kernel.kallsyms]
    30c94dc66a1fe95180c3d68d2b89e576d5ae213c /lib/x86_64-linux-gnu/libc-2.19.so

    The fix is to record the root of the tree on the dso so that
    dso__set_long_name() can update the tree when the long name changes.

    Signed-off-by: Adrian Hunter
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Adrian Hunter
    Cc: Don Zickus
    Cc: Douglas Hatch
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Peter Zijlstra
    Cc: Scott J Norton
    Cc: Waiman Long
    Fixes: 4598a0a6d22f ("perf symbols: Improve DSO long names lookup speed with rbtree")
    Link: http://lkml.kernel.org/r/1447408112-1920-2-git-send-email-adrian.hunter@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Adrian Hunter
     
  • When the root user tries to read a file owned by some other user we get:

    # ls -la perf.data
    -rw-------. 1 acme acme 20032 Nov 12 15:50 perf.data
    # perf report
    File perf.data not owned by current user or root (use -f to override)
    # perf report -f | grep -v ^# | head -2
    30.96% ls [kernel.vmlinux] [k] do_set_pte
    28.24% ls libc-2.20.so [.] intel_check_word
    #

    That wasn't happening when the symbol code tried to read a JIT map,
    where the same check was done but no forcing was possible, fix it.

    Reported-by: Brendan Gregg
    Tested-by: Brendan Gregg
    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://permalink.gmane.org/gmane.linux.kernel.perf.user/2380
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • So no need to have a 'dso' member in 'popup_action', remove it as no
    code is using it, already.

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-76a6s0007slug0op0wkl6o8b@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • When pressing 'd' the expected action is to filter all entries by the
    DSO in the current entry, but for that the action->map needs to be set,
    and only action->dso was being set, fix it.

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Fixes: 045b80dd0340 ("perf hists browser: Use the map to determine if a DSO is being used as a kernel")
    Link: http://lkml.kernel.org/n/tip-xqhfzgoblq49lk5h5u82atro@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • Normally symbols are read from the DSO and adjusted, if need be, so that
    the symbol start matches the file offset in the DSO file (we want the
    file offset because that is what we know from MMAP events). That is done
    by dso__load_sym() which inserts the symbols *after* adjusting them.

    In the case of kcore, the symbols have been read from kallsyms and the
    symbol start is the memory address. The symbols have to be adjusted to
    match the kcore file offsets. dso__split_kallsyms_for_kcore() does that,
    but now the adjustment is being done *after* the symbols have been
    inserted. It appears dso__split_kallsyms_for_kcore() was assuming that
    changing the symbol start would not change the order in the rbtree -
    which is, of course, not guaranteed.

    Signed-off-by: Adrian Hunter
    Tested-by: Wang Nan
    Cc: Jiri Olsa
    Cc: Masami Hiramatsu
    Cc: Namhyung Kim
    Cc: Zefan Li
    Cc: pi3orama@163.com
    Link: http://lkml.kernel.org/r/563CB241.2090701@intel.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Adrian Hunter
     
  • Signed-off-by: Kamal Mostafa
    Acked-by: Pavel Machek
    Cc: Jiri Olsa
    Cc: Jonathan Cameron
    Cc: Pali Rohar
    Cc: Roberta Dobrescu
    Link: http://lkml.kernel.org/r/1447280736-2161-2-git-send-email-kamal@canonical.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Kamal Mostafa
     
  • Pull more power management and ACPI updates from Rafael Wysocki:
    "The only new feature in this batch is support for the ACPI _CCA device
    configuration object, which it a pre-requisite for future ACPI PCI
    support on ARM64, but should not affect the other architectures.

    The rest is fixes and cleanups, mostly in cpufreq (including
    intel_pstate), the Operating Performace Points (OPP) framework and
    tools (cpupower and turbostat).

    Specifics:

    - Support for the ACPI _CCA configuration object intended to tell the
    OS whether or not a bus master device supports hardware managed
    cache coherency and a new set of functions to allow drivers to
    check the cache coherency support for devices in a platform
    firmware interface agnostic way (Suravee Suthikulpanit, Jeremy
    Linton).

    - ACPI backlight quirks for ESPRIMO Mobile M9410 and Dell XPS L421X
    (Aaron Lu, Hans de Goede).

    - Fixes for the arm_big_little and s5pv210-cpufreq cpufreq drivers
    (Jon Medhurst, Nicolas Pitre).

    - kfree()-related fixup for the recently introduced CPPC cpufreq
    frontend (Markus Elfring).

    - intel_pstate fix reducing kernel log noise on systems where
    P-states are managed by hardware (Prarit Bhargava).

    - intel_pstate maintainers information update (Srinivas Pandruvada).

    - cpufreq core optimization related to the handling of delayed work
    items used by governors (Viresh Kumar).

    - Locking fixes and cleanups of the Operating Performance Points
    (OPP) framework (Viresh Kumar).

    - Generic power domains framework cleanups (Lina Iyer).

    - cpupower tool updates (Jacob Tanenbaum, Sriram Raghunathan, Thomas
    Renninger).

    - turbostat tool updates (Len Brown)"

    * tag 'pm+acpi-4.4-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (32 commits)
    PCI: ACPI: Add support for PCI device DMA coherency
    PCI: OF: Move of_pci_dma_configure() to pci_dma_configure()
    of/pci: Fix pci_get_host_bridge_device leak
    device property: ACPI: Remove unused DMA APIs
    device property: ACPI: Make use of the new DMA Attribute APIs
    device property: Adding DMA Attribute APIs for Generic Devices
    ACPI: Adding DMA Attribute APIs for ACPI Device
    device property: Introducing enum dev_dma_attr
    ACPI: Honor ACPI _CCA attribute setting
    cpufreq: CPPC: Delete an unnecessary check before the function call kfree()
    PM / OPP: Add opp_rcu_lockdep_assert() to _find_device_opp()
    PM / OPP: Hold dev_opp_list_lock for writers
    PM / OPP: Protect updates to list_dev with mutex
    PM / OPP: Propagate error properly from dev_pm_opp_set_sharing_cpus()
    cpufreq: s5pv210-cpufreq: fix wrong do_div() usage
    MAINTAINERS: update for intel P-state driver
    Creating a common structure initialization pattern for struct option
    cpupower: Enable disabled Cstates if they are below max latency
    cpupower: Remove debug message when using cpupower idle-set -D switch
    cpupower: cpupower monitor reports uninitialized values for offline cpus
    ...

    Linus Torvalds
     
  • Commit ca321d1ca672 "ACPICA: Update NFIT table to rename a flags field"
    performed a tree-wide s/ACPI_NFIT_MEM_ARMED/ACPI_NFIT_MEM_NOT_ARMED/
    operation, but missed the tools/testing/nvdimm/ directory.

    Cc: Bob Moore
    Cc: Lv Zheng
    Acked-by: Rafael J. Wysocki
    Signed-off-by: Dan Williams

    Dan Williams
     

12 Nov, 2015

8 commits

  • Signed-off-by: Kamal Mostafa
    Cc: Jiri Olsa
    Cc: Pali Rohar
    Cc: Roberta Dobrescu
    Link: http://lkml.kernel.org/r/1447280736-2161-1-git-send-email-kamal@canonical.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Kamal Mostafa
     
  • * pm-tools:
    Creating a common structure initialization pattern for struct option
    cpupower: Enable disabled Cstates if they are below max latency
    cpupower: Remove debug message when using cpupower idle-set -D switch
    cpupower: cpupower monitor reports uninitialized values for offline cpus
    tools/power turbostat: bugfix: print MAX_NON_TURBO_RATIO
    tools/power turbostat: simplify Bzy_MHz calculation

    Rafael J. Wysocki
     
  • list.h needs WRITE_ONCE() since 7f5f873c6a07 ("rculist: Use WRITE_ONCE()
    when deleting from reader-visible list") add it before including the
    kernel's list.h file.

    This fixes builds of 'make perf-tar-src-pkg' perf tool tarball builds,
    i.e. out of tree builds.

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-e0rb8f7jwz0jn24ttyick9u6@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • On kernel with only one out of CONFIG_KPROBE_EVENTS and
    CONFIG_UPROBE_EVENTS enabled, 'perf probe -d' causes a segfault because
    perf_del_probe_events() calls probe_file__get_events() with a negative
    fd.

    This patch fixes it by adding parameter validation at the entry of
    probe_file__get_events() and probe_file__get_rawlist(). Since they are
    both non-static public functions (in .h file), parameter verifying is
    required.

    v1 -> v2: Verify fd at the head of probe_file__get_rawlist() instead of
    checking at call site (suggested by Masami and Arnaldo at [1,2]).

    [1] http://lkml.kernel.org/r/50399556C9727B4D88A595C8584AAB37526048E3@GSjpTKYDCembx32.service.hitachi.net
    [2] http://lkml.kernel.org/r/20151105155830.GV13236@kernel.org

    Signed-off-by: Wang Nan
    Acked-by: Masami Hiramatsu
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Zefan Li
    Cc: pi3orama@163.com
    Link: http://lkml.kernel.org/r/1446803415-83382-1-git-send-email-wangnan0@huawei.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Wang Nan
     
  • Before:

    [acme@zoo linux]$ perf evlist
    WARNING: The perf.data file's data size field is 0 which is unexpected.
    Was the 'perf record' command properly terminated?
    non matching sample_type[acme@zoo linux]$

    After:

    [acme@zoo linux]$ perf evlist
    WARNING: The perf.data file's data size field is 0 which is unexpected.
    Was the 'perf record' command properly terminated?
    non matching sample_type
    [acme@zoo linux]$

    Cc: Adrian Hunter
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Namhyung Kim
    Cc: Wang Nan
    Link: http://lkml.kernel.org/n/tip-wscok3a2s7yrj8156oc2r6qe@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Arnaldo Carvalho de Melo
     
  • The --full-paths option did not show the full source file paths in the 'perf
    annotate' tool, because the value of the option was not propagated into the
    related functions.

    With this patch the value of the --full-paths option is known to the function
    that composes the srcline string, so it prints the full path when necessary.

    Committer Note:

    This affects annotate when the --print-line option is used:

    # perf annotate -h 2>&1 | grep print-line
    -l, --print-line print matching source lines (may be slow)

    Looking just at the lines that should be affected by this change:

    Before:

    # perf annotate --print-line --full-paths --stdio fput | grep '\.[ch]:[0-9]\+'
    94.44 atomic64_64.h:114
    5.56 file_table.c:265
    file_table.c:265 5.56 : ffffffff81219a00: callq ffffffff81769360
    atomic64_64.h:114 94.44 : ffffffff81219a05: lock decq 0x38(%rdi)

    After:

    # perf annotate --print-line --full-paths --stdio fput | grep '\.[ch]:[0-9]\+'
    94.44 /home/git/linux/arch/x86/include/asm/atomic64_64.h:114
    5.56 /home/git/linux/fs/file_table.c:265
    /home/git/linux/fs/file_table.c:265 5.56 : ffffffff81219a00: callq ffffffff81769360
    /home/git/linux/arch/x86/include/asm/atomic64_64.h:114 94.44 : ffffffff81219a05: lock decq 0x38(%rdi)
    #

    Signed-off-by: Michael Petlan
    Tested-by: Arnaldo Carvalho de Melo
    Link: http://permalink.gmane.org/gmane.linux.kernel.perf.user/2365
    Signed-off-by: Arnaldo Carvalho de Melo

    Michael Petlan
     
  • Commit b31de018a6284a25e0fdfeb028e724f8417ec3b1 ("perf test: Enhance the
    LLVM test: update basic BPF test program") dynamically creates file
    llvm-src-base.c during the perf building.

    Similarly, the commit 7af3f3d55b80cce40ad94b6b8e173dccedaf25e6 ("perf
    test: Enhance the LLVM tests: add kbuild test") dynamically creates file
    llvm-src-kbuild.c during the perf building. Add them to .gitignore.

    Signed-off-by: Yunlong Song
    Tested-by: Arnaldo Carvalho de Melo
    Cc: Adrian Hunter
    Cc: Alexei Starovoitov
    Cc: David Ahern
    Cc: Jiri Olsa
    Cc: Kan Liang
    Cc: Masami Hiramatsu
    Cc: Namhyung Kim
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Wang Nan
    Fixes: b31de018a628 ("perf test: Enhance the LLVM test: update basic BPF test program")
    Fixes: 7af3f3d55b80 ("perf test: Enhance the LLVM tests: add kbuild test")
    Signed-off-by: Arnaldo Carvalho de Melo

    Yunlong Song
     
  • Pull thermal updates from Zhang Rui:

    - Implement generic devfreq cooling mechanism through frequency
    reduction for devices using devfreq. From Ørjan Eide and Javi
    Merino.

    - Introduce OMAP3 support on TI SoC thermal driver. From Pavel Mack
    and Eduardo Valentin.

    - A bounch of small fixes on devfreq_cooling, Exynos, IMX, Armada, and
    Rockchip thermal drivers.

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (24 commits)
    thermal: exynos: Directly return 0 instead of using local ret variable
    thermal: exynos: Remove unneeded semicolon
    thermal: exynos: Use IS_ERR() because regulator cannot be NULL
    thermal: exynos: Fix first temperature read after registering sensor
    thermal: exynos: Fix unbalanced regulator disable on probe failure
    devfreq_cooling: return on allocation failure
    thermal: rockchip: support the sleep pinctrl state to avoid glitches in s2r
    dt-bindings: rockchip-thermal: Add the pinctrl states in this document
    thermal: devfreq_cooling: Make power a u64
    thermal: devfreq_cooling: use a thermal_cooling_device for register and unregister
    thermal: underflow bug in imx_set_trip_temp()
    thermal: armada: Fix possible overflow in the Armada 380 thermal sensor formula
    thermal: imx: register irq handler later in probe
    thermal: rockhip: fix setting thermal shutdown polarity
    thermal: rockchip: fix handling of invalid readings
    devfreq_cooling: add trace information
    thermal: Add devfreq cooling
    PM / OPP: get the voltage for all OPPs
    tools/thermal: tmon: use pkg-config also for CFLAGS
    linux/thermal.h: rename KELVIN_TO_CELSIUS to DECI_KELVIN_TO_CELSIUS
    ...

    Linus Torvalds
     

11 Nov, 2015

6 commits

  • Merge final patch-bomb from Andrew Morton:
    "Various leftovers, mainly Christoph's pci_dma_supported() removals"

    * emailed patches from Andrew Morton :
    pci: remove pci_dma_supported
    usbnet: remove ifdefed out call to dma_supported
    kaweth: remove ifdefed out call to dma_supported
    sfc: don't call dma_supported
    nouveau: don't call pci_dma_supported
    netup_unidvb: use pci_set_dma_mask insted of pci_dma_supported
    cx23885: use pci_set_dma_mask insted of pci_dma_supported
    cx25821: use pci_set_dma_mask insted of pci_dma_supported
    cx88: use pci_set_dma_mask insted of pci_dma_supported
    saa7134: use pci_set_dma_mask insted of pci_dma_supported
    saa7164: use pci_set_dma_mask insted of pci_dma_supported
    tw68-core: use pci_set_dma_mask insted of pci_dma_supported
    pcnet32: use pci_set_dma_mask insted of pci_dma_supported
    lib/string.c: add ULL suffix to the constant definition
    hugetlb: trivial comment fix
    selftests/mlock2: add ULL suffix to 64-bit constants
    selftests/mlock2: add missing #define _GNU_SOURCE

    Linus Torvalds
     
  • …/git/shuah/linux-kselftest

    Pull kselftest updates from Shuah Khan:
    "This 12 patch update for 4.4-rc1 consists of a new pstore test and
    fixes to existing tests"

    * tag 'linux-kselftest-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
    selftests: breakpoint: Actually build it
    selftests: vm: Try harder to allocate huge pages
    selftests: Make scripts executable
    selftests: kprobe: Choose an always-defined function to probe
    selftests: memfd: Stop unnecessary rebuilds
    selftests: Add missing #include directives
    selftests/seccomp: Be more precise with syscall arguments.
    selftests/seccomp: build and pass on arm64
    selftests: memfd_test: Revised STACK_SIZE to make it 16-byte aligned
    selftests/pstore: add pstore test scripts going with reboot
    selftests/pstore: add pstore test script for pre-reboot
    selftests: add .gitignore for efivarfs

    Linus Torvalds
     
  • On 32-bit (e.g. m68k):

    mlock2-tests.c: In function 'lock_check':
    mlock2-tests.c:293: warning: integer constant is too large for 'long' type
    mlock2-tests.c:294: warning: integer constant is too large for 'long' type
    mlock2-tests.c:299: warning: integer constant is too large for 'long' type
    ...

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Eric B Munson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • On glibc 2.3.6:

    mlock2-tests.c: In function 'seek_to_smaps_entry':
    mlock2-tests.c:158: warning: implicit declaration of function 'getline'

    According to the manpage of getline(), it needs _GNU_SOURCE before glibc
    2.10.

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Eric B Munson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Pull turbostat changes for v4.4 from Len Brown.

    * 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
    tools/power turbostat: bugfix: print MAX_NON_TURBO_RATIO
    tools/power turbostat: simplify Bzy_MHz calculation

    Rafael J. Wysocki
     
  • Pull libnvdimm updates from Dan Williams:
    "Outside of the new ACPI-NFIT hot-add support this pull request is more
    notable for what it does not contain, than what it does. There were a
    handful of development topics this cycle, dax get_user_pages, dax
    fsync, and raw block dax, that need more more iteration and will wait
    for 4.5.

    The patches to make devm and the pmem driver NUMA aware have been in
    -next for several weeks. The hot-add support has not, but is
    contained to the NFIT driver and is passing unit tests. The coredump
    support is straightforward and was looked over by Jeff. All of it has
    received a 0day build success notification across 107 configs.

    Summary:

    - Add support for the ACPI 6.0 NFIT hot add mechanism to process
    updates of the NFIT at runtime.

    - Teach the coredump implementation how to filter out DAX mappings.

    - Introduce NUMA hints for allocations made by the pmem driver, and
    as a side effect all devm allocations now hint their NUMA node by
    default"

    * tag 'libnvdimm-for-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
    coredump: add DAX filtering for FDPIC ELF coredumps
    coredump: add DAX filtering for ELF coredumps
    acpi: nfit: Add support for hot-add
    nfit: in acpi_nfit_init, break on a 0-length table
    pmem, memremap: convert to numa aware allocations
    devm_memremap_pages: use numa_mem_id
    devm: make allocations numa aware by default
    devm_memremap: convert to return ERR_PTR
    devm_memunmap: use devres_release()
    pmem: kill memremap_pmem()
    x86, mm: quiet arch_add_memory()

    Linus Torvalds