1. 14 Mar, 2017 3 commits
    • Hari Bathini's avatar
      perf script: Add script print support for namespace events · 96a44bbc
      Hari Bathini authored
      Introduce a new option to display events of type PERF_RECORD_NAMESPACES
      and update perf-script documentation accordingly.
      
      Shown below is output (trimmed) of perf script command with the newly
      introduced option, on perf.data generated with perf record command using
      --namespaces option.
      
        $ perf script --show-namespace-events
            swapper   0 [000]     0.000000: PERF_RECORD_NAMESPACES 1/1 - nr_namespaces: 7
                      [0/net: 3/0xf000001c, 1/uts: 3/0xeffffffe, 2/ipc: 3/0xefffffff, 3/pid: 3/0xeffffffc,
                       4/user: 3/0xeffffffd, 5/mnt: 3/0xf0000000, 6/cgroup: 3/0xeffffffb]
            swapper   0 [000]     0.000000: PERF_RECORD_NAMESPACES 2/2 - nr_namespaces: 7
                      [0/net: 3/0xf000001c, 1/uts: 3/0xeffffffe, 2/ipc: 3/0xefffffff, 3/pid: 3/0xeffffffc,
                       4/user: 3/0xeffffffd, 5/mnt: 3/0xf0000000, 6/cgroup: 3/0xeffffffb]
      
      Commiter notes:
      
      Testing it:
      
      Investigating that double PERF_RECORD_NAMESPACES for the 19155
      pid/tid... Its more than that, there are two PERF_RECORD_COMM as well,
      and with zeroed timestamps, so probably a synthesizing artifact...
      
        # perf script --show-task --show-namespace
        <SNIP>
            perf     0 [000]     0.000000: PERF_RECORD_COMM: perf:19154/19154
            perf     0 [000]     0.000000: PERF_RECORD_FORK(19155:19155):(19154:19154)
            perf     0 [000]     0.000000: PERF_RECORD_NAMESPACES 19155/19155 - nr_namespaces: 7
                [0/net: 3/0xf0000081, 1/uts: 3/0xeffffffe, 2/ipc: 3/0xefffffff, 3/pid: 3/0xeffffffc,
                 4/user: 3/0xeffffffd, 5/mnt: 3/0xf0000000, 6/cgroup: 3/0xeffffffb]
            perf     0 [000]     0.000000: PERF_RECORD_COMM: perf:19155/19155
            perf     0 [000]     0.000000: PERF_RECORD_COMM: perf:19155/19155
            perf     0 [000]     0.000000: PERF_RECORD_NAMESPACES 19155/19155 - nr_namespaces: 7
                [0/net: 3/0xf0000081, 1/uts: 3/0xeffffffe, 2/ipc: 3/0xefffffff, 3/pid: 3/0xeffffffc,
                 4/user: 3/0xeffffffd, 5/mnt: 3/0xf0000000, 6/cgroup: 3/0xeffffffb]
         swapper     0 [000]  3110.881834:          1 cycles:  ffffffffa7060bf6 native_write_msr (/lib/modules/4.11.0-rc1+/build/vmlinux)
      
        <SNIP>
      Signed-off-by: default avatarHari Bathini <hbathini@linux.vnet.ibm.com>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Alexei Starovoitov <ast@fb.com>
      Cc: Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com>
      Cc: Aravinda Prasad <aravinda@linux.vnet.ibm.com>
      Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Cc: Eric Biederman <ebiederm@xmission.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Sargun Dhillon <sargun@sargun.me>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/148891932627.25309.1941587059154176221.stgit@hbathini.in.ibm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      96a44bbc
    • Hari Bathini's avatar
      perf record: Synthesize namespace events for current processes · e907caf3
      Hari Bathini authored
      Synthesize PERF_RECORD_NAMESPACES events for processes that were running prior
      to invocation of perf record. The data for this is taken from /proc/$PID/ns.
      These changes make way for analyzing events with regard to namespaces.
      
      Committer notes:
      
      Check if 'tool' is NULL in perf_event__synthesize_namespaces(), as in the
      test__mmap_thread_lookup case, i.e. 'perf test Lookup mmap thread".
      
      Testing it:
      
        # ps axH > /tmp/allthreads
        # perf record -a --namespaces usleep 1
        [ perf record: Woken up 1 times to write data ]
        [ perf record: Captured and wrote 1.169 MB perf.data (8 samples) ]
        # perf report -D | grep PERF_RECORD_NAMESPACES | wc -l
        602
        # wc -l /tmp/allthreads
        601 /tmp/allthreads
        # tail /tmp/allthreads
        16951 pts/4    T      0:00 git rebase -i a033bf1bfacdaa25642e6bcc857a7d0f67cc3c92^
        16952 pts/4    T      0:00 /bin/sh /usr/libexec/git-core/git-rebase -i a033bf1bfacdaa25642e6bcc857a7d0f67cc3c92^
        17176 pts/4    T      0:00 git commit --amend --no-post-rewrite
        17204 pts/4    T      0:00 vim /home/acme/git/linux/.git/COMMIT_EDITMSG
        18939 ?        S      0:00 [kworker/2:1]
        18947 ?        S      0:00 [kworker/3:0]
        18974 ?        S      0:00 [kworker/1:0]
        19047 ?        S      0:00 [kworker/0:1]
        19152 pts/6    S+     0:00 weechat
        19153 pts/7    R+     0:00 ps axH
        # perf report -D | grep PERF_RECORD_NAMESPACES | tail
        0 0 0x125068 [0xa0]: PERF_RECORD_NAMESPACES 17176/17176 - nr_namespaces: 7
        0 0 0x1255b8 [0xa0]: PERF_RECORD_NAMESPACES 17204/17204 - nr_namespaces: 7
        0 0 0x125df0 [0xa0]: PERF_RECORD_NAMESPACES 18939/18939 - nr_namespaces: 7
        0 0 0x125f00 [0xa0]: PERF_RECORD_NAMESPACES 18947/18947 - nr_namespaces: 7
        0 0 0x126010 [0xa0]: PERF_RECORD_NAMESPACES 18974/18974 - nr_namespaces: 7
        0 0 0x126120 [0xa0]: PERF_RECORD_NAMESPACES 19047/19047 - nr_namespaces: 7
        0 0 0x126230 [0xa0]: PERF_RECORD_NAMESPACES 19152/19152 - nr_namespaces: 7
        0 0 0x129330 [0xa0]: PERF_RECORD_NAMESPACES 19154/19154 - nr_namespaces: 7
        0 0 0x12a1f8 [0xa0]: PERF_RECORD_NAMESPACES 19155/19155 - nr_namespaces: 7
        0 0 0x12b0b8 [0xa0]: PERF_RECORD_NAMESPACES 19155/19155 - nr_namespaces: 7
        #
      
      Humm, investigate why we got two record for the 19155 pid/tid...
      Signed-off-by: default avatarHari Bathini <hbathini@linux.vnet.ibm.com>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Alexei Starovoitov <ast@fb.com>
      Cc: Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com>
      Cc: Aravinda Prasad <aravinda@linux.vnet.ibm.com>
      Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Cc: Eric Biederman <ebiederm@xmission.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Sargun Dhillon <sargun@sargun.me>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/148891931111.25309.11073854609798681633.stgit@hbathini.in.ibm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      e907caf3
    • Hari Bathini's avatar
      perf tools: Add PERF_RECORD_NAMESPACES to include namespaces related info · f3b3614a
      Hari Bathini authored
      Introduce a new option to record PERF_RECORD_NAMESPACES events emitted
      by the kernel when fork, clone, setns or unshare are invoked. And update
      perf-record documentation with the new option to record namespace
      events.
      
      Committer notes:
      
      Combined it with a later patch to allow printing it via 'perf report -D'
      and be able to test the feature introduced in this patch. Had to move
      here also perf_ns__name(), that was introduced in another later patch.
      
      Also used PRIu64 and PRIx64 to fix the build in some enfironments wrt:
      
        util/event.c:1129:39: error: format '%lx' expects argument of type 'long unsigned int', but argument 6 has type 'long long unsigned int' [-Werror=format=]
           ret  += fprintf(fp, "%u/%s: %lu/0x%lx%s", idx
                                               ^
      Testing it:
      
        # perf record --namespaces -a
        ^C[ perf record: Woken up 1 times to write data ]
        [ perf record: Captured and wrote 1.083 MB perf.data (423 samples) ]
        #
        # perf report -D
        <SNIP>
        3 2028902078892 0x115140 [0xa0]: PERF_RECORD_NAMESPACES 14783/14783 - nr_namespaces: 7
                      [0/net: 3/0xf0000081, 1/uts: 3/0xeffffffe, 2/ipc: 3/0xefffffff, 3/pid: 3/0xeffffffc,
                       4/user: 3/0xeffffffd, 5/mnt: 3/0xf0000000, 6/cgroup: 3/0xeffffffb]
      
        0x1151e0 [0x30]: event: 9
        .
        . ... raw event: size 48 bytes
        .  0000:  09 00 00 00 02 00 30 00 c4 71 82 68 0c 7f 00 00  ......0..q.h....
        .  0010:  a9 39 00 00 a9 39 00 00 94 28 fe 63 d8 01 00 00  .9...9...(.c....
        .  0020:  03 00 00 00 00 00 00 00 ce c4 02 00 00 00 00 00  ................
        <SNIP>
              NAMESPACES events:          1
        <SNIP>
        #
      Signed-off-by: default avatarHari Bathini <hbathini@linux.vnet.ibm.com>
      Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Alexei Starovoitov <ast@fb.com>
      Cc: Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com>
      Cc: Aravinda Prasad <aravinda@linux.vnet.ibm.com>
      Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
      Cc: Daniel Borkmann <daniel@iogearbox.net>
      Cc: Eric Biederman <ebiederm@xmission.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Sargun Dhillon <sargun@sargun.me>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Link: http://lkml.kernel.org/r/148891930386.25309.18412039920746995488.stgit@hbathini.in.ibm.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      f3b3614a
  2. 13 Mar, 2017 6 commits
  3. 07 Mar, 2017 4 commits
    • Namhyung Kim's avatar
      perf c2c: Fix display bug when using pipe · 1936feae
      Namhyung Kim authored
      Currently 'perf c2c report' determines display mode using the --stdio
      option, but it could be a problem if stdout is not a tty since
      setup_browser falls back to stdio in this case.
      
      But perf c2c didn't know this and tried to use TUI browser anyway.  It
      should check "use_browser" variable instead.
      
      For example, the following command showed nothing and broke terminal
      setting.  Now it's fixed..
      
        $ perf c2c report | head
        =================================================
                    Trace Event Information
        =================================================
          Total records                     :        136
          Locked Load/Store Operations      :          6
          Load Operations                   :         62
          Loads - uncacheable               :          0
          Loads - IO                        :          1
          Loads - Miss                      :          7
          Loads - no mapping                :          2
      
      Committer notes:
      
      When trying it without a proper perf.data file it results in a stuck
      terminal, just as Namhyung reported above:
      
        [acme@jouet ~]$ perf c2c report | head
        WARNING: no sample cpu value[acme@jouet ~]$
      
      One has to kill it from some other xterm. Confirm that this patch fixes
      it:
      
      After:
      
        $ perf c2c report | head
        WARNING: no sample cpu value=================================================
                    Trace Event Information
        =================================================
          Total records                     :         14
          Locked Load/Store Operations      :          0
          Load Operations                   :          0
          Loads - uncacheable               :          0
          Loads - IO                        :          0
          Loads - Miss                      :          0
          Loads - no mapping                :          0
        $
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: kernel-team@lge.com
      Link: http://lkml.kernel.org/r/20170307150851.22304-6-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      1936feae
    • Namhyung Kim's avatar
      perf c2c: Clarify help message of --stats option · f75d2895
      Namhyung Kim authored
      As it is not strictly asking for only stdio output, but will imply using
      it.
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: kernel-team@lge.com
      Link: http://lkml.kernel.org/r/20170307150851.22304-5-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      f75d2895
    • Namhyung Kim's avatar
      perf report: Hide tip message when -q option is given · 8b53dbef
      Namhyung Kim authored
      The tip message at the end was printed regardless of the -q option.
      
      Originally, the message suggested only '-s comm,dso' option for higher
      level view when no sort option and parent option were given.
      
      Now it shows random help message regardless of the options so the
      condition can be simplified to honor the -q option.
      
      Committer notes:
      
      Before:
      
        $ perf report --stdio -q
          42.77%  ls       ls                [.] _init
          13.21%  ls       ld-2.24.so        [.] match_symbol
          12.55%  ls       libc-2.24.so      [.] __strcoll_l
          11.94%  ls       libc-2.24.so      [.] _init
      
        #
        # (Tip: Show current config key-value pairs: perf config --list)
        #
        $
      
      After:
      
        $ perf report --stdio -q
          42.77%  ls       ls                [.] _init
          13.21%  ls       ld-2.24.so        [.] match_symbol
          12.55%  ls       libc-2.24.so      [.] __strcoll_l
          11.94%  ls       libc-2.24.so      [.] _init
      
        $
      
      We still have those two extra lines tho (that git commit insists in
      turning into one, or git commit --amend doesn't make me add), food for
      another patch...
      Reported-and-Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: kernel-team@lge.com
      Link: http://lkml.kernel.org/r/20170307150851.22304-2-namhyung@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      8b53dbef
    • Ingo Molnar's avatar
      Merge tag 'perf-core-for-mingo-4.11-20170306' of... · 84e5b549
      Ingo Molnar authored
      Merge tag 'perf-core-for-mingo-4.11-20170306' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
      
      Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
      
      New features:
      
      - Allow sorting by symbol_size in 'perf report' and 'perf top' (Charles Baylis)
      
        E.g.:
      
        # perf report -s symbol_size,symbol
      
        Samples: 9K of event 'cycles:k', Event count (approx.): 2870461623
        Overhead  Symbol size  Symbol
          14.55%          326  [k] flush_tlb_mm_range
           7.20%         1045  [k] filemap_map_pages
           5.82%          124  [k] vma_interval_tree_insert
           5.18%         2430  [k] unmap_page_range
           2.57%          571  [k] vma_interval_tree_remove
           1.94%          494  [k] page_add_file_rmap
           1.82%          740  [k] page_remove_rmap
           1.66%         1017  [k] release_pages
           1.57%         1636  [k] update_blocked_averages
           1.57%           76  [k] unlock_page
      
      - Add support for -p/--pid, -a/--all-cpus and -C/--cpu in 'perf ftrace' (Namhyung Kim)
      
      Change in behaviour:
      
      - Make system wide (-a) the default option if no target was specified and one
        of following conditions is met:
      
        - No workload specified (current behaviour)
      
        - A workload is specified but all requested events are system wide ones,
          like uncore ones. (Jiri Olsa)
      
      Fixes:
      
      - Add missing initialization to the instruction decoder used in the
        intel PT/BTS code, which was causing lots of failures in 'perf test',
        looking for a value when there was none (Adrian Hunter)
      
      Infrastructure changes:
      
      - Add arch code needed to adopt the kernel's refcount_t to aid in
        catching bugs when using atomic_t as a reference counter, basically
        cmpxchg related functions (Arnaldo Carvalho de Melo)
      
      - Convert the code using atomic_t as reference counts to refcount_t
        (Elena Rashetova)
      
      - Add feature test for sched_getcpu() to more easily check for its
        presence in the many libc implementations and accross different
        versions of such C libraries (Arnaldo Carvalho de Melo)
      
      - Issue a HW watchdog disable hint in 'perf stat' for when some of the
        requested events can't get counted because a PMU counter is taken by that
        watchdog (Borislav Petkov).
      
      - Add mapping for Intel's KnightsMill PMU events (Karol Wachowski)
      
      Documentation changes:
      
      - Clarify the term 'convergence' in:
      
         perf bench numa numa-mem -h --show_convergence (Jiri Olsa)
      
      Kernel code changes:
      
      - Ensure probe location is at function entry in kretprobes (Naveen N. Rao)
      
      - Allow return probes with offsets and absolute addresses (Naveen N. Rao)
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      84e5b549
  4. 06 Mar, 2017 1 commit
  5. 05 Mar, 2017 2 commits
    • Linus Torvalds's avatar
      Linux 4.11-rc1 · c1ae3cfa
      Linus Torvalds authored
      c1ae3cfa
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 8d70eeb8
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Fix double-free in batman-adv, from Sven Eckelmann.
      
       2) Fix packet stats for fast-RX path, from Joannes Berg.
      
       3) Netfilter's ip_route_me_harder() doesn't handle request sockets
          properly, fix from Florian Westphal.
      
       4) Fix sendmsg deadlock in rxrpc, from David Howells.
      
       5) Add missing RCU locking to transport hashtable scan, from Xin Long.
      
       6) Fix potential packet loss in mlxsw driver, from Ido Schimmel.
      
       7) Fix race in NAPI handling between poll handlers and busy polling,
          from Eric Dumazet.
      
       8) TX path in vxlan and geneve need proper RCU locking, from Jakub
          Kicinski.
      
       9) SYN processing in DCCP and TCP need to disable BH, from Eric
          Dumazet.
      
      10) Properly handle net_enable_timestamp() being invoked from IRQ
          context, also from Eric Dumazet.
      
      11) Fix crash on device-tree systems in xgene driver, from Alban Bedel.
      
      12) Do not call sk_free() on a locked socket, from Arnaldo Carvalho de
          Melo.
      
      13) Fix use-after-free in netvsc driver, from Dexuan Cui.
      
      14) Fix max MTU setting in bonding driver, from WANG Cong.
      
      15) xen-netback hash table can be allocated from softirq context, so use
          GFP_ATOMIC. From Anoob Soman.
      
      16) Fix MAC address change bug in bgmac driver, from Hari Vyas.
      
      17) strparser needs to destroy strp_wq on module exit, from WANG Cong.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (69 commits)
        strparser: destroy workqueue on module exit
        sfc: fix IPID endianness in TSOv2
        sfc: avoid max() in array size
        rds: remove unnecessary returned value check
        rxrpc: Fix potential NULL-pointer exception
        nfp: correct DMA direction in XDP DMA sync
        nfp: don't tell FW about the reserved buffer space
        net: ethernet: bgmac: mac address change bug
        net: ethernet: bgmac: init sequence bug
        xen-netback: don't vfree() queues under spinlock
        xen-netback: keep a local pointer for vif in backend_disconnect()
        netfilter: nf_tables: don't call nfnetlink_set_err() if nfnetlink_send() fails
        netfilter: nft_set_rbtree: incorrect assumption on lower interval lookups
        netfilter: nf_conntrack_sip: fix wrong memory initialisation
        can: flexcan: fix typo in comment
        can: usb_8dev: Fix memory leak of priv->cmd_msg_buffer
        can: gs_usb: fix coding style
        can: gs_usb: Don't use stack memory for USB transfers
        ixgbe: Limit use of 2K buffers on architectures with 256B or larger cache lines
        ixgbe: update the rss key on h/w, when ethtool ask for it
        ...
      8d70eeb8
  6. 04 Mar, 2017 14 commits
    • Linus Torvalds's avatar
      Merge tag 'kvm-4.11-2' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 2d62e076
      Linus Torvalds authored
      Pull more KVM updates from Radim Krčmář:
       "Second batch of KVM changes for the 4.11 merge window:
      
        PPC:
         - correct assumption about ASDR on POWER9
         - fix MMIO emulation on POWER9
      
        x86:
         - add a simple test for ioperm
         - cleanup TSS (going through KVM tree as the whole undertaking was
           caused by VMX's use of TSS)
         - fix nVMX interrupt delivery
         - fix some performance counters in the guest
      
        ... and two cleanup patches"
      
      * tag 'kvm-4.11-2' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: nVMX: Fix pending events injection
        x86/kvm/vmx: remove unused variable in segment_base()
        selftests/x86: Add a basic selftest for ioperm
        x86/asm: Tidy up TSS limit code
        kvm: convert kvm.users_count from atomic_t to refcount_t
        KVM: x86: never specify a sample period for virtualized in_tx_cp counters
        KVM: PPC: Book3S HV: Don't use ASDR for real-mode HPT faults on POWER9
        KVM: PPC: Book3S HV: Fix software walk of guest process page tables
      2d62e076
    • Linus Torvalds's avatar
      Merge tag 'docs-4.11-fixes' of git://git.lwn.net/linux · be834aaf
      Linus Torvalds authored
      Pull documentation fixes from Jonathan Corbet:
       "A few fixes for the docs tree, including one for a 4.11 build
        regression"
      
      * tag 'docs-4.11-fixes' of git://git.lwn.net/linux:
        Documentation/sphinx: fix primary_domain configuration
        docs: Fix htmldocs build failure
        doc/ko_KR/memory-barriers: Update control-dependencies section
        pcieaer doc: update the link
        Documentation: Update path to sysrq.txt
      be834aaf
    • Linus Torvalds's avatar
      Merge tag 'staging-4.11-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 91aff98b
      Linus Torvalds authored
      Pull staging/IIO driver fixes from Greg KH:
       "Here are a few small staging and IIO driver fixes for issues that
        showed up after the big set if changes you merged last week.
      
        Nothing major, just small bugs resolved in some IIO drivers, a lustre
        allocation fix, and some RaspberryPi driver fixes for reported
        problems, as well as a MAINTAINERS entry update.
      
        All of these have been in linux-next for a week with no reported
        issues"
      
      * tag 'staging-4.11-rc1-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: fsl-mc: fix warning in DT ranges parser
        MAINTAINERS: Remove Noralf Trønnes as fbtft maintainer
        staging: vchiq_2835_arm: Make cache-line-size a required DT property
        staging: bcm2835/mmal-vchiq: unlock on error in buffer_from_host()
        staging/lustre/lnet: Fix allocation size for sv_cpt_data
        iio: adc: xilinx: Fix error handling
        iio: 104-quad-8: Fix off-by-one error when addressing flag register
        iio: adc: handle unknow of_device_id data
      91aff98b
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 33a8b3e9
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
      
       - vmalloc stack regression in CCM
      
       - Build problem in CRC32 on ARM
      
       - Memory leak in cavium
      
       - Missing Kconfig dependencies in atmel and mediatek
      
       - XTS Regression on some platforms (s390 and ppc)
      
       - Memory overrun in CCM test vector
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: vmx - Use skcipher for xts fallback
        crypto: vmx - Use skcipher for cbc fallback
        crypto: testmgr - Pad aes_ccm_enc_tv_template vector
        crypto: arm/crc32 - add build time test for CRC instruction support
        crypto: arm/crc32 - fix build error with outdated binutils
        crypto: ccm - move cbcmac input off the stack
        crypto: xts - Propagate NEED_FALLBACK bit
        crypto: api - Add crypto_requires_off helper
        crypto: atmel - CRYPTO_DEV_MEDIATEK should depend on HAS_DMA
        crypto: atmel - CRYPTO_DEV_ATMEL_TDES and CRYPTO_DEV_ATMEL_SHA should depend on HAS_DMA
        crypto: cavium - fix leak on curr if curr->head fails to be allocated
        crypto: cavium - Fix couple of static checker errors
      33a8b3e9
    • Linus Torvalds's avatar
      Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 0710f3ff
      Linus Torvalds authored
      Pull misc final vfs updates from Al Viro:
       "A few unrelated patches that got beating in -next.
      
        Everything else will have to go into the next window ;-/"
      
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        hfs: fix hfs_readdir()
        selftest for default_file_splice_read() infoleak
        9p: constify ->d_name handling
      0710f3ff
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · a3b4924b
      Linus Torvalds authored
      Pull more SCSI updates from James Bottomley:
       "This is the set of stuff that didn't quite make the initial pull and a
        set of fixes for stuff which did.
      
        The new stuff is basically lpfc (nvme), qedi and aacraid. The fixes
        cover a lot of previously submitted stuff, the most important of which
        probably covers some of the failing irq vectors allocation and other
        fallout from having the SCSI command allocated as part of the block
        allocation functions"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (59 commits)
        scsi: qedi: Fix memory leak in tmf response processing.
        scsi: aacraid: remove redundant zero check on ret
        scsi: lpfc: use proper format string for dma_addr_t
        scsi: lpfc: use div_u64 for 64-bit division
        scsi: mac_scsi: Fix MAC_SCSI=m option when SCSI=m
        scsi: cciss: correct check map error.
        scsi: qla2xxx: fix spelling mistake: "seperator" -> "separator"
        scsi: aacraid: Fixed expander hotplug for SMART family
        scsi: mpt3sas: switch to pci_alloc_irq_vectors
        scsi: qedf: fixup compilation warning about atomic_t usage
        scsi: remove scsi_execute_req_flags
        scsi: merge __scsi_execute into scsi_execute
        scsi: simplify scsi_execute_req_flags
        scsi: make the sense header argument to scsi_test_unit_ready mandatory
        scsi: sd: improve TUR handling in sd_check_events
        scsi: always zero sshdr in scsi_normalize_sense
        scsi: scsi_dh_emc: return success in clariion_std_inquiry()
        scsi: fix memory leak of sdpk on when gd fails to allocate
        scsi: sd: make sd_devt_release() static
        scsi: qedf: Add QLogic FastLinQ offload FCoE driver framework.
        ...
      a3b4924b
    • WANG Cong's avatar
      strparser: destroy workqueue on module exit · f78ef7cd
      WANG Cong authored
      Fixes: 43a0c675 ("strparser: Stream parser for messages")
      Cc: Tom Herbert <tom@herbertland.com>
      Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f78ef7cd
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf · 20b83643
      David S. Miller authored
      Pablo Neira Ayuso says:
      
      ====================
      Netfilter fixes for net
      
      The following patchset contains Netfilter fixes for your net tree,
      they are:
      
      1) Missing check for full sock in ip_route_me_harder(), from
         Florian Westphal.
      
      2) Incorrect sip helper structure initilization that breaks it when
         several ports are used, from Christophe Leroy.
      
      3) Fix incorrect assumption when looking up for matching with adjacent
         intervals in the nft_set_rbtree.
      
      4) Fix broken netlink event error reporting in nf_tables that results
         in misleading ESRCH errors propagated to userspace listeners.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      20b83643
    • Linus Torvalds's avatar
      Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 0b94da8d
      Linus Torvalds authored
      Pull libnvdimm fixes from Dan Williams:
       "A fix and regression test case for nvdimm namespace label
        compatibility.
      
        Details:
      
         - An "nvdimm namespace label" is metadata on an nvdimm that
           provisions dimm capacity into a "namespace" that can host a block
           device / dax-filesytem, or a device-dax character device.
      
           A namespace is an object that other operating environment and
           platform firmware needs to comprehend for capabilities like booting
           from an nvdimm.
      
           The label metadata contains a checksum that Linux was not
           calculating correctly leading to other environments rejecting the
           Linux label.
      
         These have received a build success notification from the kbuild
         robot, and a positive test result from Nick who reported the problem"
      
      * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        nfit, libnvdimm: fix interleave set cookie calculation
        tools/testing/nvdimm: make iset cookie predictable
      0b94da8d
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.11-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · e27fd02d
      Linus Torvalds authored
      Pull PCI fixes from Bjorn Helgaas:
      
       - fix NULL pointer dereferences in many DesignWare-based drivers due to
         refactoring error
      
       - fix Altera config write breakage due to my refactoring error
      
      * tag 'pci-v4.11-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        PCI: altera: Fix TLP_CFG_DW0 for TLP write
        PCI: dwc: Fix crashes seen due to missing assignments
      e27fd02d
    • Linus Torvalds's avatar
      Merge branch 'parisc-4.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · f47e2db4
      Linus Torvalds authored
      Pull parisc fixes and cleanups from Helge Deller:
       "Nothing really important in this patchset: fix resource leaks in error
        paths, coding style cleanups and code removal"
      
      * 'parisc-4.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Remove flush_user_dcache_range and flush_user_icache_range
        parisc: fix a printk
        parisc: ccio-dma: Handle return NULL error from ioremap_nocache
        parisc: Define access_ok() as macro
        parisc: eisa: Fix resource leaks in error paths
        parisc: eisa: Remove coding style errors
      f47e2db4
    • Linus Torvalds's avatar
      Merge tag 'xtensa-20170303' of git://github.com/jcmvbkbc/linux-xtensa · 606ed721
      Linus Torvalds authored
      Pull Xtensa updates from Max Filippov:
      
       - clean up bootable image build targets: provide separate 'Image',
         'zImage' and 'uImage' make targets that only build corresponding
         image type. Make 'all' build all images appropriate for a platform
      
       - allow merging vectors code into .text section as a preparation step
         for XIP support
      
       - fix handling external FDT when the kernel is built without
         BLK_DEV_INITRD support
      
      * tag 'xtensa-20170303' of git://github.com/jcmvbkbc/linux-xtensa:
        xtensa: allow merging vectors into .text section
        xtensa: clean up bootable image build targets
        xtensa: move parse_tag_fdt out of #ifdef CONFIG_BLK_DEV_INITRD
      606ed721
    • Linus Torvalds's avatar
      Merge tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · a1a0db36
      Linus Torvalds authored
      Pull ARM SoC late DT updates from Arnd Bergmann:
       "These updates have been kept in a separate branch mostly because they
        rely on updates to the respective clk drivers to keep the shared
        header files in sync.
      
        This includes two branches for arm64 dt updates, both following up on
        earlier changes for the same platforms that are already merged:
      
        Samsung:
         - add USB3 support in Exynos7
         - minor PM related updates
      
        Amlogic:
         - new machines: WeTek Set-top-boxes
         - various devices added to DT
      
        There are also a couple of bugfixes that trickled in since the start
        of the merge window:
      
         - The moxart_defconfig was not building the intended platform
         - CPU-hotplug was broken on ux500
         - Coresight was broken on Juno (never worked)"
      
      * tag 'armsoc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (26 commits)
        ARM: deconfig: fix the moxart defconfig
        ARM: ux500: resume the second core properly
        arm64: dts: juno: update definition for programmable replicator
        arm64: dts: exynos: Add regulators for Vbus and Vbus-Boost
        arm64: dts: exynos: Add USB 3.0 controller node for Exynos7
        arm64: dts: exynos: Use macros for pinctrl configuration on Exynos7
        pinctrl: dt-bindings: samsung: Add Exynos7 specific pinctrl macro definitions
        arm64: dts: exynos: Add initial configuration for DISP clocks for TM2/TM2e
        ARM64: dts: meson-gxbb-p200: add ADC laddered keys
        ARM64: dts: meson: meson-gx: add the SAR ADC
        ARM64: dts: meson-gxl: add the pwm_ao_b pin
        ARM64: dts: meson-gx: add the missing pwm_AO_ab node
        clk: gxbb: fix CLKID_ETH defined twice
        ARM64: dts: meson-gxl: rename Nexbox A95x for consistency
        clk: gxbb: add the SAR ADC clocks and expose them
        dt-bindings: amlogic: Add WeTek boards
        ARM64: dts: meson-gxbb: Add support for WeTek Hub and Play
        dt-bindings: vendor-prefix: Add wetek vendor prefix
        ARM64: dts: meson-gxm: Rename q200 and q201 DT files for consistency
        ARM64: dts: meson-gx: Add HDMI HPD/DDC pinctrl nodes
        ...
      a1a0db36
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 · 0a040b21
      Linus Torvalds authored
      Pull SMB3 fixes from Steve French:
       "Some small bug fixes as well as SMB2.1/SMB3 enablement for DFS (global
        namespace) which previously was only enabled for CIFS"
      
      * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
        smb2: Enforce sec= mount option
        CIFS: Fix sparse warnings
        CIFS: implement get_dfs_refer for SMB2+
        CIFS: use DFS pathnames in SMB2+ Create requests
        CIFS: set signing flag in SMB2+ TreeConnect if needed
        CIFS: let ses->ipc_tid hold smb2 TreeIds
        CIFS: add use_ipc flag to SMB2_ioctl()
        CIFS: add build_path_from_dentry_optional_prefix()
        CIFS: move DFS response parsing out of SMB1 code
        CIFS: Fix possible use after free in demultiplex thread
      0a040b21
  7. 03 Mar, 2017 10 commits
    • John Keeping's avatar
      Documentation/sphinx: fix primary_domain configuration · fd5d6669
      John Keeping authored
      With Sphinx 1.5.3 I get the warning:
      
      	WARNING: primary_domain 'C' not found, ignored.
      
      It seems that domain names in Sphinx are case-sensitive and for the C
      domain the name must be lower case.
      Signed-off-by: default avatarJohn Keeping <john@metanate.com>
      Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
      fd5d6669
    • Martyn Welch's avatar
      docs: Fix htmldocs build failure · f3fc83e5
      Martyn Welch authored
      Build of HTML docs failing due to conversion of deviceiobook.tmpl in
      8a8a602f and regulator.tmpl in 028f2533 to RST without removing from
      DOCBOOKS in Makefile, resulting (in the case of deviceiobook) the
      following error:
      
      make[1]: *** No rule to make target 'Documentation/DocBook/deviceiobook.xml', needed by 'Documentation/DocBook/deviceiobook.aux.xml'.  Stop.
      Makefile:1452: recipe for target 'htmldocs' failed
      make: *** [htmldocs] Error 2
      
      Update DOCBOOKS to reflect available books.
      Signed-off-by: default avatarMartyn Welch <martyn.welch@collabora.co.uk>
      Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
      f3fc83e5
    • SeongJae Park's avatar
      doc/ko_KR/memory-barriers: Update control-dependencies section · 9857b1ad
      SeongJae Park authored
      This commit applies upstream change, commit c8241f85 ("doc: Update
      control-dependencies section of memory-barriers.txt"), to Korean
      translation.
      Signed-off-by: default avatarSeongJae Park <sj38.park@gmail.com>
      Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
      9857b1ad
    • Cao jin's avatar
      pcieaer doc: update the link · 2eb6a4b2
      Cao jin authored
      The original link is empty, replace it.
      Signed-off-by: default avatarCao jin <caoj.fnst@cn.fujitsu.com>
      Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
      2eb6a4b2
    • Krzysztof Kozlowski's avatar
      Documentation: Update path to sysrq.txt · d3c1a297
      Krzysztof Kozlowski authored
      Commit 9d85025b ("docs-rst: create an user's manual book") moved the
      sysrq.txt leaving old paths in the kernel docs.
      Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
      Reviewed-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
      Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
      d3c1a297
    • Arnaldo Carvalho de Melo's avatar
      tools build: Use the same CC for feature detection and actual build · c8c18867
      Arnaldo Carvalho de Melo authored
      	When build with: 'make CC=clang' we were not using that CC to do
      feature detection, which resulted in features being detected with gcc
      and then the actual tools being built with clang.
      
      	Most of the time these compilers are compatible enough, so no
      problem was being noticed.
      
      	As soon as a system with an old enough clang, one that hasn't
      the cpuid.h header is used, and a gcc with it, the "get_cpuid" feature
      will be found available but then code that will use can't be compiled.
      
      	Noticed with this combination:
      
        / $ gcc --version | head -1
        gcc (Alpine 6.3.0) 6.3.0
        / $ clang --version | head -1
        clang version 3.8.1 (tags/RELEASE_381/final)
        / $ cat /etc/alpine-release
        3.5.0
        / $
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/n/tip-60q18nvlvgpyfv7e2qqgx4ou@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      c8c18867
    • Arnaldo Carvalho de Melo's avatar
      perf bench futex: Fix build on musl + clang · a0f213e1
      Arnaldo Carvalho de Melo authored
      When building with clang on a musl libc system, Alpine Linux, we end up
      hitting a problem where memset() is used but its prototype is not
      present, add it to avoid this:
      
        bench/futex-wake.c:99:3: error: implicitly declaring library function 'memset' with type 'void *(void *, int, unsigned long)'
              [-Werror,-Wimplicit-function-declaration]
                        CPU_ZERO(&cpu);
                        ^
        /usr/include/sched.h:127:23: note: expanded from macro 'CPU_ZERO'
        #define CPU_ZERO(set) CPU_ZERO_S(sizeof(cpu_set_t),set)
                              ^
        /usr/include/sched.h:110:30: note: expanded from macro 'CPU_ZERO_S'
        #define CPU_ZERO_S(size,set) memset(set,0,size)
                                     ^
        bench/futex-wake.c:99:3: note: include the header <string.h> or explicitly provide a declaration for 'memset'
      
      Found while updating my test build containers to build perf with clang in more
      systems.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Davidlohr Bueso <dave@stgolabs.net>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/n/tip-jh10vaz2r98zl6gm5iau8prr@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      a0f213e1
    • Arnaldo Carvalho de Melo's avatar
      perf bench futex: Use __maybe_unused · b8d1fd7e
      Arnaldo Carvalho de Melo authored
      Instead of attributing a variable to itself to silence the compiler, use
      the attribute designed for that, avoiding this:
      
      In file included from bench/futex-hash.c:24:
      bench/futex.h:95:7: error: explicitly assigning value of variable of type 'pthread_attr_t *' to itself [-Werror,-Wself-assign]
              attr = attr;
              ~~~~ ^ ~~~~
      bench/futex.h:96:13: error: explicitly assigning value of variable of type 'size_t' (aka 'unsigned long') to itself [-Werror,-Wself-assign]
              cpusetsize = cpusetsize;
              ~~~~~~~~~~ ^ ~~~~~~~~~~
      bench/futex.h:97:9: error: explicitly assigning value of variable of type 'cpu_set_t *' (aka 'struct cpu_set_t *') to itself [-Werror,-Wself-assign]
              cpuset = cpuset;
              ~~~~~~ ^ ~~~~~~
      
      That is only triggered when HAVE_PTHREAD_ATTR_SETAFFINITY_NP isn't set.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/n/tip-14ws1d1elj2d5ej8g7cwdqau@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      b8d1fd7e
    • Arnaldo Carvalho de Melo's avatar
      tools build: Add test for sched_getcpu() · 120010cb
      Arnaldo Carvalho de Melo authored
      Instead of trying to go on adding more ifdef conditions, do a feature
      test and define HAVE_SCHED_GETCPU_SUPPORT instead, then use it to
      provide the prototype. No need to change the stub, as it is already a
      __weak symbol.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/n/tip-yge89er9g90sc0v6k0a0r5tr@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      120010cb
    • Jiri Olsa's avatar
      perf tools: Force uncore events to system wide monitoring · e3ba76de
      Jiri Olsa authored
      Make system wide (-a) the default option if no target was specified and
      one of following conditions is met:
      
        - there's no workload specified (current behaviour)
        - there is workload specified but all requested
          events are system wide ones
      
      Mixed events core/uncore with workload:
      
        $ perf stat -e 'uncore_cbox_0/clockticks/,cycles' sleep 1
      
         Performance counter stats for 'sleep 1':
      
           <not supported>      uncore_cbox_0/clockticks/
                   980,489      cycles
      
               1.000897406 seconds time elapsed
      
      Uncore event with workload:
      
        $ perf stat -e 'uncore_cbox_0/clockticks/' sleep 1
      
         Performance counter stats for 'system wide':
      
        281,473,897,192,670      uncore_cbox_0/clockticks/
      
               1.000833784 seconds time elapsed
      
      Committer note:
      
      When testing I realized the default case for !root, i.e. no events
      passed via -e, was broke by v2 of this patch, reported and after a
      patch provided by Jiri it is back working:
      
        [acme@jouet linux]$ perf stat usleep 1
      
         Performance counter stats for 'usleep 1':
      
               0.401335      task-clock:u (msec)     #   0.297 CPUs utilized
                      0      context-switches:u      #   0.000 K/sec
                      0      cpu-migrations:u        #   0.000 K/sec
                     48      page-faults:u           #   0.120 M/sec
                458,146      cycles:u                #   1.142 GHz
                245,113      instructions:u          #   0.54  insn per cycle
                 47,991      branches:u              # 119.578 M/sec
                  4,022      branch-misses:u         #   8.38% of all branches
      
            0.001350029 seconds time elapsed
      
        [acme@jouet linux]$
      Suggested-and-Tested-by: default avatarBorislav Petkov <bp@alien8.de>
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/20170227094818.GA12764@kravaSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      e3ba76de