1. 04 Aug, 2016 5 commits
    • Jessica Yu's avatar
      modules: add ro_after_init support · 444d13ff
      Jessica Yu authored
      Add ro_after_init support for modules by adding a new page-aligned section
      in the module layout (after rodata) for ro_after_init data and enabling RO
      protection for that section after module init runs.
      Signed-off-by: default avatarJessica Yu <jeyu@redhat.com>
      Acked-by: default avatarKees Cook <keescook@chromium.org>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      444d13ff
    • Rusty Russell's avatar
      jump_label: disable preemption around __module_text_address(). · bdc9f373
      Rusty Russell authored
      Steven reported a warning caused by not holding module_mutex or
      rcu_read_lock_sched: his backtrace was corrupted but a quick audit
      found this possible cause.  It's wrong anyway...
      Reported-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      bdc9f373
    • Paul Gortmaker's avatar
      exceptions: fork exception table content from module.h into extable.h · 0ef76537
      Paul Gortmaker authored
      For historical reasons (i.e. pre-git) the exception table stuff was
      buried in the middle of the module.h file.  I noticed this while
      doing an audit for needless includes of module.h and found core
      kernel files (both arch specific and arch independent) were just
      including module.h for this.
      
      The converse is also true, in that conventional drivers, be they
      for filesystems or actual hardware peripherals or similar, do not
      normally care about the exception tables.
      
      Here we fork the exception table content out of module.h into a
      new file called extable.h -- and temporarily include it into the
      module.h itself.
      
      Then we will work our way across the arch independent and arch
      specific files needing just exception table content, and move
      them off module.h and onto extable.h
      
      Once that is done, we can remove the extable.h from module.h
      and in doing it like this, we avoid introducing build failures
      into the git history.
      
      The gain here is that module.h gets a bit smaller, across all
      modular drivers that we build for allmodconfig.  Also the core
      files that only need exception table stuff don't have an include
      of module.h that brings in lots of extra stuff and just looks
      generally out of place.
      
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      0ef76537
    • Prarit Bhargava's avatar
      modules: Add kernel parameter to blacklist modules · be7de5f9
      Prarit Bhargava authored
      Blacklisting a module in linux has long been a problem.  The current
      procedure is to use rd.blacklist=module_name, however, that doesn't
      cover the case after the initramfs and before a boot prompt (where one
      is supposed to use /etc/modprobe.d/blacklist.conf to blacklist
      runtime loading). Using rd.shell to get an early prompt is hit-or-miss,
      and doesn't cover all situations AFAICT.
      
      This patch adds this functionality of permanently blacklisting a module
      by its name via the kernel parameter module_blacklist=module_name.
      
      [v2]: Rusty, use core_param() instead of __setup() which simplifies
      things.
      
      [v3]: Rusty, undo wreckage from strsep()
      
      [v4]: Rusty, simpler version of blacklisted()
      Signed-off-by: default avatarPrarit Bhargava <prarit@redhat.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: linux-doc@vger.kernel.org
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      be7de5f9
    • Steven Rostedt's avatar
      module: Do a WARN_ON_ONCE() for assert module mutex not held · 9502514f
      Steven Rostedt authored
      When running with lockdep enabled, I triggered the WARN_ON() in the
      module code that asserts when module_mutex or rcu_read_lock_sched are
      not held. The issue I have is that this can also be called from the
      dump_stack() code, causing us to enter an infinite loop...
      
       ------------[ cut here ]------------
       WARNING: CPU: 1 PID: 0 at kernel/module.c:268 module_assert_mutex_or_preempt+0x3c/0x3e
       Modules linked in: ip6t_REJECT nf_reject_ipv6 nf_conntrack_ipv6
       CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.7.0-rc3-test-00013-g501c2375 #14
       Hardware name: MSI MS-7823/CSM-H87M-G43 (MS-7823), BIOS V1.6 02/22/2014
        ffff880215e8fa70 ffff880215e8fa70 ffffffff812fc8e3 0000000000000000
        ffffffff81d3e55b ffff880215e8fac0 ffffffff8104fc88 ffffffff8104fcab
        0000000915e88300 0000000000000046 ffffffffa019b29a 0000000000000001
       Call Trace:
        [<ffffffff812fc8e3>] dump_stack+0x67/0x90
        [<ffffffff8104fc88>] __warn+0xcb/0xe9
        [<ffffffff8104fcab>] ? warn_slowpath_null+0x5/0x1f
       ------------[ cut here ]------------
       WARNING: CPU: 1 PID: 0 at kernel/module.c:268 module_assert_mutex_or_preempt+0x3c/0x3e
       Modules linked in: ip6t_REJECT nf_reject_ipv6 nf_conntrack_ipv6
       CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.7.0-rc3-test-00013-g501c2375 #14
       Hardware name: MSI MS-7823/CSM-H87M-G43 (MS-7823), BIOS V1.6 02/22/2014
        ffff880215e8f7a0 ffff880215e8f7a0 ffffffff812fc8e3 0000000000000000
        ffffffff81d3e55b ffff880215e8f7f0 ffffffff8104fc88 ffffffff8104fcab
        0000000915e88300 0000000000000046 ffffffffa019b29a 0000000000000001
       Call Trace:
        [<ffffffff812fc8e3>] dump_stack+0x67/0x90
        [<ffffffff8104fc88>] __warn+0xcb/0xe9
        [<ffffffff8104fcab>] ? warn_slowpath_null+0x5/0x1f
       ------------[ cut here ]------------
       WARNING: CPU: 1 PID: 0 at kernel/module.c:268 module_assert_mutex_or_preempt+0x3c/0x3e
       Modules linked in: ip6t_REJECT nf_reject_ipv6 nf_conntrack_ipv6
       CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.7.0-rc3-test-00013-g501c2375 #14
       Hardware name: MSI MS-7823/CSM-H87M-G43 (MS-7823), BIOS V1.6 02/22/2014
        ffff880215e8f4d0 ffff880215e8f4d0 ffffffff812fc8e3 0000000000000000
        ffffffff81d3e55b ffff880215e8f520 ffffffff8104fc88 ffffffff8104fcab
        0000000915e88300 0000000000000046 ffffffffa019b29a 0000000000000001
       Call Trace:
        [<ffffffff812fc8e3>] dump_stack+0x67/0x90
        [<ffffffff8104fc88>] __warn+0xcb/0xe9
        [<ffffffff8104fcab>] ? warn_slowpath_null+0x5/0x1f
       ------------[ cut here ]------------
       WARNING: CPU: 1 PID: 0 at kernel/module.c:268 module_assert_mutex_or_preempt+0x3c/0x3e
      [...]
      
      Which gives us rather useless information. Worse yet, there's some race
      that causes this, and I seldom trigger it, so I have no idea what
      happened.
      
      This would not be an issue if that warning was a WARN_ON_ONCE().
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      9502514f
  2. 27 Jul, 2016 5 commits
  3. 26 Jul, 2016 19 commits
    • Linus Torvalds's avatar
      Merge branch 'for-4.8/drivers' of git://git.kernel.dk/linux-block · 3fc9d690
      Linus Torvalds authored
      Pull block driver updates from Jens Axboe:
       "This branch also contains core changes.  I've come to the conclusion
        that from 4.9 and forward, I'll be doing just a single branch.  We
        often have dependencies between core and drivers, and it's hard to
        always split them up appropriately without pulling core into drivers
        when that happens.
      
        That said, this contains:
      
         - separate secure erase type for the core block layer, from
           Christoph.
      
         - set of discard fixes, from Christoph.
      
         - bio shrinking fixes from Christoph, as a followup up to the
           op/flags change in the core branch.
      
         - map and append request fixes from Christoph.
      
         - NVMeF (NVMe over Fabrics) code from Christoph.  This is pretty
           exciting!
      
         - nvme-loop fixes from Arnd.
      
         - removal of ->driverfs_dev from Dan, after providing a
           device_add_disk() helper.
      
         - bcache fixes from Bhaktipriya and Yijing.
      
         - cdrom subchannel read fix from Vchannaiah.
      
         - set of lightnvm updates from Wenwei, Matias, Johannes, and Javier.
      
         - set of drbd updates and fixes from Fabian, Lars, and Philipp.
      
         - mg_disk error path fix from Bart.
      
         - user notification for failed device add for loop, from Minfei.
      
         - NVMe in general:
              + NVMe delay quirk from Guilherme.
              + SR-IOV support and command retry limits from Keith.
              + fix for memory-less NUMA node from Masayoshi.
              + use UINT_MAX for discard sectors, from Minfei.
              + cancel IO fixes from Ming.
              + don't allocate unused major, from Neil.
              + error code fixup from Dan.
              + use constants for PSDT/FUSE from James.
              + variable init fix from Jay.
              + fabrics fixes from Ming, Sagi, and Wei.
              + various fixes"
      
      * 'for-4.8/drivers' of git://git.kernel.dk/linux-block: (115 commits)
        nvme/pci: Provide SR-IOV support
        nvme: initialize variable before logical OR'ing it
        block: unexport various bio mapping helpers
        scsi/osd: open code blk_make_request
        target: stop using blk_make_request
        block: simplify and export blk_rq_append_bio
        block: ensure bios return from blk_get_request are properly initialized
        virtio_blk: use blk_rq_map_kern
        memstick: don't allow REQ_TYPE_BLOCK_PC requests
        block: shrink bio size again
        block: simplify and cleanup bvec pool handling
        block: get rid of bio_rw and READA
        block: don't ignore -EOPNOTSUPP blkdev_issue_write_same
        block: introduce BLKDEV_DISCARD_ZERO to fix zeroout
        NVMe: don't allocate unused nvme_major
        nvme: avoid crashes when node 0 is memoryless node.
        nvme: Limit command retries
        loop: Make user notify for adding loop device failed
        nvme-loop: fix nvme-loop Kconfig dependencies
        nvmet: fix return value check in nvmet_subsys_alloc()
        ...
      3fc9d690
    • Linus Torvalds's avatar
      Merge branch 'for-4.8/core' of git://git.kernel.dk/linux-block · d05d7f40
      Linus Torvalds authored
      Pull core block updates from Jens Axboe:
      
         - the big change is the cleanup from Mike Christie, cleaning up our
           uses of command types and modified flags.  This is what will throw
           some merge conflicts
      
         - regression fix for the above for btrfs, from Vincent
      
         - following up to the above, better packing of struct request from
           Christoph
      
         - a 2038 fix for blktrace from Arnd
      
         - a few trivial/spelling fixes from Bart Van Assche
      
         - a front merge check fix from Damien, which could cause issues on
           SMR drives
      
         - Atari partition fix from Gabriel
      
         - convert cfq to highres timers, since jiffies isn't granular enough
           for some devices these days.  From Jan and Jeff
      
         - CFQ priority boost fix idle classes, from me
      
         - cleanup series from Ming, improving our bio/bvec iteration
      
         - a direct issue fix for blk-mq from Omar
      
         - fix for plug merging not involving the IO scheduler, like we do for
           other types of merges.  From Tahsin
      
         - expose DAX type internally and through sysfs.  From Toshi and Yigal
      
      * 'for-4.8/core' of git://git.kernel.dk/linux-block: (76 commits)
        block: Fix front merge check
        block: do not merge requests without consulting with io scheduler
        block: Fix spelling in a source code comment
        block: expose QUEUE_FLAG_DAX in sysfs
        block: add QUEUE_FLAG_DAX for devices to advertise their DAX support
        Btrfs: fix comparison in __btrfs_map_block()
        block: atari: Return early for unsupported sector size
        Doc: block: Fix a typo in queue-sysfs.txt
        cfq-iosched: Charge at least 1 jiffie instead of 1 ns
        cfq-iosched: Fix regression in bonnie++ rewrite performance
        cfq-iosched: Convert slice_resid from u64 to s64
        block: Convert fifo_time from ulong to u64
        blktrace: avoid using timespec
        block/blk-cgroup.c: Declare local symbols static
        block/bio-integrity.c: Add #include "blk.h"
        block/partition-generic.c: Remove a set-but-not-used variable
        block: bio: kill BIO_MAX_SIZE
        cfq-iosched: temporarily boost queue priority for idle classes
        block: drbd: avoid to use BIO_MAX_SIZE
        block: bio: remove BIO_MAX_SECTORS
        ...
      d05d7f40
    • Linus Torvalds's avatar
      Merge branch 'for-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · 75a442ef
      Linus Torvalds authored
      Pull libata updates from Tejun Heo:
       "libata saw quite a bit of activities in this cycle:
      
         - SMR drive support still being worked on
      
         - bug fixes and improvements to misc SCSI command emulation
      
         - some low level driver updates"
      
      * 'for-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: (39 commits)
        libata-scsi: better style in ata_msense_*()
        AHCI: Clear GHC.IS to prevent unexpectly asserting INTx
        ata: sata_dwc_460ex: remove redundant dev_err call
        ata: define ATA_PROT_* in terms of ATA_PROT_FLAG_*
        libata: remove ATA_PROT_FLAG_DATA
        libata: remove ata_is_nodata
        ata: make lba_{28,48}_ok() use ATA_MAX_SECTORS{,_LBA48}
        libata-scsi: minor cleanup for ata_scsi_zbc_out_xlat
        libata-scsi: Fix ZBC management out command translation
        libata-scsi: Fix translation of REPORT ZONES command
        ata: Handle ATA NCQ NO-DATA commands correctly
        libata-eh: decode all taskfile protocols
        ata: fixup ATA_PROT_NODATA
        libsas: use ata_is_ncq() and ata_has_dma() accessors
        libata: use ata_is_ncq() accessors
        libata: return boolean values from ata_is_*
        libata-scsi: avoid repeated calculation of number of TRIM ranges
        libata-scsi: reject WRITE SAME (16) with n_block that exceeds limit
        libata-scsi: rename ata_msense_ctl_mode() to ata_msense_control()
        libata-scsi: fix D_SENSE bit relection in control mode page
        ...
      75a442ef
    • Linus Torvalds's avatar
      Merge branch 'for-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · b55b0487
      Linus Torvalds authored
      Pull cgroup updates from Tejun Heo:
       "Nothing too exciting.
      
         - updates to the pids controller so that pid limit breaches can be
           noticed and monitored from userland.
      
         - cleanups and non-critical bug fixes"
      
      * 'for-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: remove duplicated include from cgroup.c
        cgroup: Use lld instead of ld when printing pids controller events_limit
        cgroup: Add pids controller event when fork fails because of pid limit
        cgroup: allow NULL return from ss->css_alloc()
        cgroup: remove unnecessary 0 check from css_from_id()
        cgroup: fix idr leak for the first cgroup root
      b55b0487
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · bbce2ad2
      Linus Torvalds authored
      Pull crypto updates from Herbert Xu:
       "Here is the crypto update for 4.8:
      
        API:
         - first part of skcipher low-level conversions
         - add KPP (Key-agreement Protocol Primitives) interface.
      
        Algorithms:
         - fix IPsec/cryptd reordering issues that affects aesni
         - RSA no longer does explicit leading zero removal
         - add SHA3
         - add DH
         - add ECDH
         - improve DRBG performance by not doing CTR by hand
      
        Drivers:
         - add x86 AVX2 multibuffer SHA256/512
         - add POWER8 optimised crc32c
         - add xts support to vmx
         - add DH support to qat
         - add RSA support to caam
         - add Layerscape support to caam
         - add SEC1 AEAD support to talitos
         - improve performance by chaining requests in marvell/cesa
         - add support for Araneus Alea I USB RNG
         - add support for Broadcom BCM5301 RNG
         - add support for Amlogic Meson RNG
         - add support Broadcom NSP SoC RNG"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (180 commits)
        crypto: vmx - Fix aes_p8_xts_decrypt build failure
        crypto: vmx - Ignore generated files
        crypto: vmx - Adding support for XTS
        crypto: vmx - Adding asm subroutines for XTS
        crypto: skcipher - add comment for skcipher_alg->base
        crypto: testmgr - Print akcipher algorithm name
        crypto: marvell - Fix wrong flag used for GFP in mv_cesa_dma_add_iv_op
        crypto: nx - off by one bug in nx_of_update_msc()
        crypto: rsa-pkcs1pad - fix rsa-pkcs1pad request struct
        crypto: scatterwalk - Inline start/map/done
        crypto: scatterwalk - Remove unnecessary BUG in scatterwalk_start
        crypto: scatterwalk - Remove unnecessary advance in scatterwalk_pagedone
        crypto: scatterwalk - Fix test in scatterwalk_done
        crypto: api - Optimise away crypto_yield when hard preemption is on
        crypto: scatterwalk - add no-copy support to copychunks
        crypto: scatterwalk - Remove scatterwalk_bytes_sglen
        crypto: omap - Stop using crypto scatterwalk_bytes_sglen
        crypto: skcipher - Remove top-level givcipher interface
        crypto: user - Remove crypto_lookup_skcipher call
        crypto: cts - Convert to skcipher
        ...
      bbce2ad2
    • Linus Torvalds's avatar
      Merge tag 'docs-for-linus' of git://git.lwn.net/linux · 0f776dc3
      Linus Torvalds authored
      Pull documentation updates from Jonathan Corbet:
       "Some big changes this month, headlined by the addition of a new
        formatted documentation mechanism based on the Sphinx system.
      
        The objectives here are to make it easier to create better-integrated
        (and more attractive) documents while (eventually) dumping our
        one-of-a-kind, cobbled-together system for something that is widely
        used and maintained by others.  There's a fair amount of information
        what's being done, why, and how to use it in:
      
          https://lwn.net/Articles/692704/
          https://lwn.net/Articles/692705/
      
        Closer to home, Documentation/kernel-documentation.rst describes how
        it works.
      
        For now, the new system exists alongside the old one; you should soon
        see the GPU documentation converted over in the DRM pull and some
        significant media conversion work as well.  Once all the docs have
        been moved over and we're convinced that the rough edges (of which are
        are a few) have been smoothed over, the DocBook-based stuff should go
        away.
      
        Primary credit is to Jani Nikula for doing the heavy lifting to make
        this stuff actually work; there has also been notable effort from
        Markus Heiser, Daniel Vetter, and Mauro Carvalho Chehab.
      
        Expect a couple of conflicts on the new index.rst file over the course
        of the merge window; they are trivially resolvable.  That file may be
        a bit of a conflict magnet in the short term, but I don't expect that
        situation to last for any real length of time.
      
        Beyond that, of course, we have the usual collection of tweaks,
        updates, and typo fixes"
      
      * tag 'docs-for-linus' of git://git.lwn.net/linux: (77 commits)
        doc-rst: kernel-doc: fix handling of address_space tags
        Revert "doc/sphinx: Enable keep_warnings"
        doc-rst: kernel-doc directive, fix state machine reporter
        docs: deprecate kernel-doc-nano-HOWTO.txt
        doc/sphinx: Enable keep_warnings
        Documentation: add watermark_scale_factor to the list of vm systcl file
        kernel-doc: Fix up warning output
        docs: Get rid of some kernel-documentation warnings
        doc-rst: add an option to ignore DocBooks when generating docs
        workqueue: Fix a typo in workqueue.txt
        Doc: ocfs: Fix typo in filesystems/ocfs2-online-filecheck.txt
        Documentation/sphinx: skip build if user requested specific DOCBOOKS
        Documentation: add cleanmediadocs to the documentation targets
        Add .pyc files to .gitignore
        Doc: PM: Fix a typo in intel_powerclamp.txt
        doc-rst: flat-table directive - initial implementation
        Documentation: add meta-documentation for Sphinx and kernel-doc
        Documentation: tiny typo fix in usb/gadget_multi.txt
        Documentation: fix wrong value in md.txt
        bcache: documentation formatting, edited for clarity, stripe alignment notes
        ...
      0f776dc3
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 015cd867
      Linus Torvalds authored
      Pull s390 updates from Martin Schwidefsky:
       "There are a couple of new things for s390 with this merge request:
      
         - a new scheduling domain "drawer" is added to reflect the unusual
           topology found on z13 machines.  Performance tests showed up to 8
           percent gain with the additional domain.
      
         - the new crc-32 checksum crypto module uses the vector-galois-field
           multiply and sum SIMD instruction to speed up crc-32 and crc-32c.
      
         - proper __ro_after_init support, this requires RO_AFTER_INIT_DATA in
           the generic vmlinux.lds linker script definitions.
      
         - kcov instrumentation support.  A prerequisite for that is the
           inline assembly basic block cleanup, which is the reason for the
           net/iucv/iucv.c change.
      
         - support for 2GB pages is added to the hugetlbfs backend.
      
        Then there are two removals:
      
         - the oprofile hardware sampling support is dead code and is removed.
           The oprofile user space uses the perf interface nowadays.
      
         - the ETR clock synchronization is removed, this has been superseeded
           be the STP clock synchronization.  And it always has been
           "interesting" code..
      
        And the usual bug fixes and cleanups"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (82 commits)
        s390/pci: Delete an unnecessary check before the function call "pci_dev_put"
        s390/smp: clean up a condition
        s390/cio/chp : Remove deprecated create_singlethread_workqueue
        s390/chsc: improve channel path descriptor determination
        s390/chsc: sanitize fmt check for chp_desc determination
        s390/cio: make fmt1 channel path descriptor optional
        s390/chsc: fix ioctl CHSC_INFO_CU command
        s390/cio/device_ops: fix kernel doc
        s390/cio: allow to reset channel measurement block
        s390/console: Make preferred console handling more consistent
        s390/mm: fix gmap tlb flush issues
        s390/mm: add support for 2GB hugepages
        s390: have unique symbol for __switch_to address
        s390/cpuinfo: show maximum thread id
        s390/ptrace: clarify bits in the per_struct
        s390: stack address vs thread_info
        s390: remove pointless load within __switch_to
        s390: enable kcov support
        s390/cpumf: use basic block for ecctr inline assembly
        s390/hypfs: use basic block for diag inline assembly
        ...
      015cd867
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 85802a49
      Linus Torvalds authored
      Pull KVM leftovers from Radim Krčmář:
       "This is a combination of two pull requests for 4.7-rc8 that were not
        merged due to looking hairy.  I have changed the tag message to focus
        on circumstances of contained reverts as they were likely the reason
        behind rejection.
      
        This merge introduces three patches that are later reverted,
      
         - Switching of MSR_TSC_AUX in SVM was thought to cause a host
           misbehavior, but it was later cleared of those doubts and the patch
           moved code to a hot path, so we reverted it.  That patch also
           needed a fix for 32 bit builds and both were reverted in one go.
      
         - Al Viro noticed that a fix for a leak in an error path was not
           valid with the given API and provided a better fix, so the original
           patch was reverted.
      
        Then there are two VMX fixes that move code around because VMCS was
        not accessed between vcpu_load() and vcpu_put(), a simple ARM VHE fix,
        and two one-liners for PML and MTRR"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        arm64: KVM: VHE: Context switch MDSCR_EL1
        KVM: VMX: handle PML full VMEXIT that occurs during event delivery
        Revert "KVM: SVM: fix trashing of MSR_TSC_AUX"
        KVM: SVM: do not set MSR_TSC_AUX on 32-bit builds
        KVM: don't use anon_inode_getfd() before possible failures
        Revert "KVM: release anon file in failure path of vm creation"
        KVM: release anon file in failure path of vm creation
        KVM: nVMX: Fix memory corruption when using VMCS shadowing
        kvm: vmx: ensure VMCS is current while enabling PML
        KVM: SVM: fix trashing of MSR_TSC_AUX
        KVM: MTRR: fix kvm_mtrr_check_gfn_range_consistency page fault
      85802a49
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 37e13a1e
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar:
       "This tree contains tooling fixes plus some additions:
      
         - fixes to the vdso2c build environment that Stephen Rothwell is
           using for the linux-next build (Arnaldo Carvalho de Melo)
      
         - AVX-512 instruction mappings (Adrian Hunter)
      
         - misc fixes"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        Revert "perf tools: event.h needs asm/perf_regs.h"
        x86: Make the vdso2c compiler use the host architecture headers
        tools build: Fix objtool build with ARCH=x86_64
        objtool: Always use host headers
        objtool: Use tools/scripts/Makefile.arch to get ARCH and HOSTARCH
        tools build: Add HOSTARCH Makefile variable
        perf tests kmod-path: Fix build on ubuntu:16.04-x-armhf
        perf tools: Add AVX-512 instructions to the new instructions test
        perf tools: Add AVX-512 support to the instruction decoder used by Intel PT
        x86/insn: Add AVX-512 support to the instruction decoder
        x86/insn: perf tools: Fix vcvtph2ps instruction decoding
      37e13a1e
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e6580525
      Linus Torvalds authored
      Pull irq updates from Thomas Gleixner:
       "The irq department delivers:
      
         - new core infrastructure to allow better management of multi-queue
           devices (interrupt spreading, node aware descriptor allocation ...)
      
         - a new interrupt flow handler to support the new fangled Intel VMD
           devices.
      
         - yet another new interrupt controller driver.
      
         - a series of fixes which addresses sparse warnings, missing
           includes, missing static declarations etc from Ben Dooks.
      
         - a fix for the error handling in the hierarchical domain allocation
           code.
      
         - the usual pile of small updates to core and driver code"
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (46 commits)
        genirq: Fix missing irq allocation affinity hint
        irqdomain: Fix irq_domain_alloc_irqs_recursive() error handling
        irq/Documentation: Correct result of echnoing 5 to smp_affinity
        MAINTAINERS: Remove Jiang Liu from irq domains
        genirq/msi: Fix broken debug output
        genirq: Add a helper to spread an affinity mask for MSI/MSI-X vectors
        genirq/msi: Make use of affinity aware allocations
        genirq: Use affinity hint in irqdesc allocation
        genirq: Add affinity hint to irq allocation
        genirq: Introduce IRQD_AFFINITY_MANAGED flag
        genirq/msi: Remove unused MSI_FLAG_IDENTITY_MAP
        irqchip/s3c24xx: Fixup IO accessors for big endian
        irqchip/exynos-combiner: Fix usage of __raw IO
        irqdomain: Fix disposal of mappings for interrupt hierarchies
        irqchip/aspeed-vic: Add irq controller for Aspeed
        doc/devicetree: Add Aspeed VIC bindings
        x86/PCI/VMD: Use untracked irq handler
        genirq: Add untracked irq handler
        irqchip/mips-gic: Populate irq_domain names
        irqchip/gicv3-its: Implement two-level(indirect) device table support
        ...
      e6580525
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 55392c4c
      Linus Torvalds authored
      Pull timer updates from Thomas Gleixner:
       "This update provides the following changes:
      
         - The rework of the timer wheel which addresses the shortcomings of
           the current wheel (cascading, slow search for next expiring timer,
           etc).  That's the first major change of the wheel in almost 20
           years since Finn implemted it.
      
         - A large overhaul of the clocksource drivers init functions to
           consolidate the Device Tree initialization
      
         - Some more Y2038 updates
      
         - A capability fix for timerfd
      
         - Yet another clock chip driver
      
         - The usual pile of updates, comment improvements all over the place"
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (130 commits)
        tick/nohz: Optimize nohz idle enter
        clockevents: Make clockevents_subsys static
        clocksource/drivers/time-armada-370-xp: Fix return value check
        timers: Implement optimization for same expiry time in mod_timer()
        timers: Split out index calculation
        timers: Only wake softirq if necessary
        timers: Forward the wheel clock whenever possible
        timers/nohz: Remove pointless tick_nohz_kick_tick() function
        timers: Optimize collect_expired_timers() for NOHZ
        timers: Move __run_timers() function
        timers: Remove set_timer_slack() leftovers
        timers: Switch to a non-cascading wheel
        timers: Reduce the CPU index space to 256k
        timers: Give a few structs and members proper names
        hlist: Add hlist_is_singular_node() helper
        signals: Use hrtimer for sigtimedwait()
        timers: Remove the deprecated mod_timer_pinned() API
        timers, net/ipv4/inet: Initialize connection request timers as pinned
        timers, drivers/tty/mips_ejtag: Initialize the poll timer as pinned
        timers, drivers/tty/metag_da: Initialize the poll timer as pinned
        ...
      55392c4c
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c410614c
      Linus Torvalds authored
      Pull x86 fix from Ingo Molnar:
       "Leftover fix from the v4.7 cycle: adds a reboot quirk"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/reboot: Add Dell Optiplex 7450 AIO reboot quirk
      c410614c
    • Linus Torvalds's avatar
      Merge branch 'x86-timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5f22004b
      Linus Torvalds authored
      Pull x86 timer updates from Ingo Molnar:
       "The main change in this tree is the reworking, fixing and extension of
        the TSC frequency enumeration code (by Len Brown)"
      
      * 'x86-timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/tsc: Remove the unused check_tsc_disabled()
        x86/tsc: Enumerate BXT tsc_khz via CPUID
        x86/tsc: Enumerate SKL cpu_khz and tsc_khz via CPUID
        x86/tsc_msr: Remove irqoff around MSR-based TSC enumeration
        x86/tsc_msr: Add Airmont reference clock values
        x86/tsc_msr: Correct Silvermont reference clock values
        x86/tsc_msr: Update comments, expand definitions
        x86/tsc_msr: Remove debugging messages
        x86/tsc_msr: Identify Intel-specific code
        Revert "x86/tsc: Add missing Cherrytrail frequency to the table"
      5f22004b
    • Linus Torvalds's avatar
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8e466955
      Linus Torvalds authored
      Pull x86 platform updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Intel-SoC enhancements (Andy Shevchenko)
      
         - Intel CPU symbolic model definition rework (Dave Hansen)
      
         - ... other misc changes"
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (25 commits)
        x86/sfi: Enable enumeration of SD devices
        x86/pci: Use MRFLD abbreviation for Merrifield
        x86/platform/intel-mid: Make vertical indentation consistent
        x86/platform/intel-mid: Mark regulators explicitly defined
        x86/platform/intel-mid: Rename mrfl.c to mrfld.c
        x86/platform/intel-mid: Enable spidev on Intel Edison boards
        x86/platform/intel-mid: Extend PWRMU to support Penwell
        x86/pci, x86/platform/intel_mid_pci: Remove duplicate power off code
        x86/platform/intel-mid: Add pinctrl for Intel Merrifield
        x86/platform/intel-mid: Enable GPIO expanders on Edison
        x86/platform/intel-mid: Add Power Management Unit driver
        x86/platform/atom/punit: Enable support for Merrifield
        x86/platform/intel_mid_pci: Rework IRQ0 workaround
        x86, thermal: Clean up and fix CPU model detection for intel_soc_dts_thermal
        x86, mmc: Use Intel family name macros for mmc driver
        x86/intel_telemetry: Use Intel family name macros for telemetry driver
        x86/acpi/lss: Use Intel family name macros for the acpi_lpss driver
        x86/cpufreq: Use Intel family name macros for the intel_pstate cpufreq driver
        x86/platform: Use new Intel model number macros
        x86/intel_idle: Use Intel family macros for intel_idle
        ...
      8e466955
    • Linus Torvalds's avatar
      Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2d724ffd
      Linus Torvalds authored
      Pull x86 fpu updates from Ingo Molnar:
       "The main x86 FPU changes in this cycle were:
      
         - a large series of cleanups, fixes and enhancements to re-enable the
           XSAVES instruction on Intel CPUs - which is the most advanced
           instruction to do FPU context switches (Yu-cheng Yu, Fenghua Yu)
      
         - Add FPU tracepoints for the FPU state machine (Dave Hansen)"
      
      * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/fpu: Do not BUG_ON() in early FPU code
        x86/fpu/xstate: Re-enable XSAVES
        x86/fpu/xstate: Fix fpstate_init() for XRSTORS
        x86/fpu/xstate: Return NULL for disabled xstate component address
        x86/fpu/xstate: Fix __fpu_restore_sig() for XSAVES
        x86/fpu/xstate: Fix xstate_offsets, xstate_sizes for non-extended xstates
        x86/fpu/xstate: Fix XSTATE component offset print out
        x86/fpu/xstate: Fix PTRACE frames for XSAVES
        x86/fpu/xstate: Fix supervisor xstate component offset
        x86/fpu/xstate: Align xstate components according to CPUID
        x86/fpu/xstate: Copy xstate registers directly to the signal frame when compacted format is in use
        x86/fpu/xstate: Keep init_fpstate.xsave.header.xfeatures as zero for init optimization
        x86/fpu/xstate: Rename 'xstate_size' to 'fpu_kernel_xstate_size', to distinguish it from 'fpu_user_xstate_size'
        x86/fpu/xstate: Define and use 'fpu_user_xstate_size'
        x86/fpu: Add tracepoints to dump FPU state at key points
      2d724ffd
    • Linus Torvalds's avatar
      Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 36e635cb
      Linus Torvalds authored
      Pull x86 stackdump update from Ingo Molnar:
       "A number of stackdump enhancements"
      
      * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/dumpstack: Add show_stack_regs() and use it
        printk: Make the printk*once() variants return a value
        x86/dumpstack: Honor supplied @regs arg
      36e635cb
    • Linus Torvalds's avatar
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c265cc5c
      Linus Torvalds authored
      Pull x86 cleanups from Ingo Molnar:
       "Three small cleanups"
      
      * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        lguest: Read offset of device_cap later
        lguest: Read length of device_cap later
        x86: Do away with ARCH_[WANT_OPTIONAL|REQUIRE]_GPIOLIB
      c265cc5c
    • Linus Torvalds's avatar
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 80f09cf5
      Linus Torvalds authored
      Pull x86 build updates from Ingo Molnar:
       "A build system fix and a cleanup"
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        kbuild: Remove stale asm-generic wrappers
        kbuild, x86: Track generated headers with generated-y
      80f09cf5
    • Linus Torvalds's avatar
      Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 77cd3d0c
      Linus Torvalds authored
      Pull x86 boot updates from Ingo Molnar:
       "The main changes:
      
         - add initial commits to randomize kernel memory section virtual
           addresses, enabled via a new kernel option: RANDOMIZE_MEMORY
           (Thomas Garnier, Kees Cook, Baoquan He, Yinghai Lu)
      
         - enhance KASLR (RANDOMIZE_BASE) physical memory randomization (Kees
           Cook)
      
         - EBDA/BIOS region boot quirk cleanups (Andy Lutomirski, Ingo Molnar)
      
         - misc cleanups/fixes"
      
      * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot: Simplify EBDA-vs-BIOS reservation logic
        x86/boot: Clarify what x86_legacy_features.reserve_bios_regions does
        x86/boot: Reorganize and clean up the BIOS area reservation code
        x86/mm: Do not reference phys addr beyond kernel
        x86/mm: Add memory hotplug support for KASLR memory randomization
        x86/mm: Enable KASLR for vmalloc memory regions
        x86/mm: Enable KASLR for physical mapping memory regions
        x86/mm: Implement ASLR for kernel memory regions
        x86/mm: Separate variable for trampoline PGD
        x86/mm: Add PUD VA support for physical mapping
        x86/mm: Update physical mapping variable names
        x86/mm: Refactor KASLR entropy functions
        x86/KASLR: Fix boot crash with certain memory configurations
        x86/boot/64: Add forgotten end of function marker
        x86/KASLR: Allow randomization below the load address
        x86/KASLR: Extend kernel image physical address randomization to addresses larger than 4G
        x86/KASLR: Randomize virtual address separately
        x86/KASLR: Clarify identity map interface
        x86/boot: Refuse to build with data relocations
        x86/KASLR, x86/power: Remove x86 hibernation restrictions
      77cd3d0c
  4. 25 Jul, 2016 11 commits
    • Linus Torvalds's avatar
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0f657262
      Linus Torvalds authored
      Pull x86 mm updates from Ingo Molnar:
       "Various x86 low level modifications:
      
         - preparatory work to support virtually mapped kernel stacks (Andy
           Lutomirski)
      
         - support for 64-bit __get_user() on 32-bit kernels (Benjamin
           LaHaise)
      
         - (involved) workaround for Knights Landing CPU erratum (Dave Hansen)
      
         - MPX enhancements (Dave Hansen)
      
         - mremap() extension to allow remapping of the special VDSO vma, for
           purposes of user level context save/restore (Dmitry Safonov)
      
         - hweight and entry code cleanups (Borislav Petkov)
      
         - bitops code generation optimizations and cleanups with modern GCC
           (H. Peter Anvin)
      
         - syscall entry code optimizations (Paolo Bonzini)"
      
      * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (43 commits)
        x86/mm/cpa: Add missing comment in populate_pdg()
        x86/mm/cpa: Fix populate_pgd(): Stop trying to deallocate failed PUDs
        x86/syscalls: Add compat_sys_preadv64v2/compat_sys_pwritev64v2
        x86/smp: Remove unnecessary initialization of thread_info::cpu
        x86/smp: Remove stack_smp_processor_id()
        x86/uaccess: Move thread_info::addr_limit to thread_struct
        x86/dumpstack: Rename thread_struct::sig_on_uaccess_error to sig_on_uaccess_err
        x86/uaccess: Move thread_info::uaccess_err and thread_info::sig_on_uaccess_err to thread_struct
        x86/dumpstack: When OOPSing, rewind the stack before do_exit()
        x86/mm/64: In vmalloc_fault(), use CR3 instead of current->active_mm
        x86/dumpstack/64: Handle faults when printing the "Stack: " part of an OOPS
        x86/dumpstack: Try harder to get a call trace on stack overflow
        x86/mm: Remove kernel_unmap_pages_in_pgd() and efi_cleanup_page_tables()
        x86/mm/cpa: In populate_pgd(), don't set the PGD entry until it's populated
        x86/mm/hotplug: Don't remove PGD entries in remove_pagetable()
        x86/mm: Use pte_none() to test for empty PTE
        x86/mm: Disallow running with 32-bit PTEs to work around erratum
        x86/mm: Ignore A/D bits in pte/pmd/pud_none()
        x86/mm: Move swap offset/type up in PTE to work around erratum
        x86/entry: Inline enter_from_user_mode()
        ...
      0f657262
    • Linus Torvalds's avatar
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 425dbc6d
      Linus Torvalds authored
      Pull x86/apic updates from Ingo Molnar:
       "Misc cleanups and a small fix"
      
      * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/apic: Remove the unused struct apic::apic_id_mask field
        x86/apic: Fix misspelled APIC
        x86/ioapic: Simplify ioapic_setup_resources()
      425dbc6d
    • Linus Torvalds's avatar
      Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 766fd5f6
      Linus Torvalds authored
      Pull NOHZ updates from Ingo Molnar:
      
       - fix system/idle cputime leaked on cputime accounting (all nohz
         configs) (Rik van Riel)
      
       - remove the messy, ad-hoc irqtime account on nohz-full and make it
         compatible with CONFIG_IRQ_TIME_ACCOUNTING=y instead (Rik van Riel)
      
       - cleanups (Frederic Weisbecker)
      
       - remove unecessary irq disablement in the irqtime code (Rik van Riel)
      
      * 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/cputime: Drop local_irq_save/restore from irqtime_account_irq()
        sched/cputime: Reorganize vtime native irqtime accounting headers
        sched/cputime: Clean up the old vtime gen irqtime accounting completely
        sched/cputime: Replace VTIME_GEN irq time code with IRQ_TIME_ACCOUNTING code
        sched/cputime: Count actually elapsed irq & softirq time
      766fd5f6
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · cca08cd6
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
      
       - introduce and use task_rcu_dereference()/try_get_task_struct() to fix
         and generalize task_struct handling (Oleg Nesterov)
      
       - do various per entity load tracking (PELT) fixes and optimizations
         (Peter Zijlstra)
      
       - cputime virt-steal time accounting enhancements/fixes (Wanpeng Li)
      
       - introduce consolidated cputime output file cpuacct.usage_all and
         related refactorings (Zhao Lei)
      
       - ... plus misc fixes and enhancements
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/core: Panic on scheduling while atomic bugs if kernel.panic_on_warn is set
        sched/cpuacct: Introduce cpuacct.usage_all to show all CPU stats together
        sched/cpuacct: Use loop to consolidate code in cpuacct_stats_show()
        sched/cpuacct: Merge cpuacct_usage_index and cpuacct_stat_index enums
        sched/fair: Rework throttle_count sync
        sched/core: Fix sched_getaffinity() return value kerneldoc comment
        sched/fair: Reorder cgroup creation code
        sched/fair: Apply more PELT fixes
        sched/fair: Fix PELT integrity for new tasks
        sched/cgroup: Fix cpu_cgroup_fork() handling
        sched/fair: Fix PELT integrity for new groups
        sched/fair: Fix and optimize the fork() path
        sched/cputime: Add steal time support to full dynticks CPU time accounting
        sched/cputime: Fix prev steal time accouting during CPU hotplug
        KVM: Fix steal clock warp during guest CPU hotplug
        sched/debug: Always show 'nr_migrations'
        sched/fair: Use task_rcu_dereference()
        sched/api: Introduce task_rcu_dereference() and try_get_task_struct()
        sched/idle: Optimize the generic idle loop
        sched/fair: Fix the wrong throttled clock time for cfs_rq_clock_task()
      cca08cd6
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7e4dc77b
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar:
       "With over 300 commits it's been a busy cycle - with most of the work
        concentrated on the tooling side (as it should).
      
        The main kernel side enhancements were:
      
         - Add per event callchain limit: Recently we introduced a sysctl to
           tune the max-stack for all events for which callchains were
           requested:
      
             $ sysctl kernel.perf_event_max_stack
             kernel.perf_event_max_stack = 127
      
           Now this patch introduces a way to configure this per event, i.e.
           this becomes possible:
      
             $ perf record -e sched:*/max-stack=2/ -e block:*/max-stack=10/ -a
      
           allowing finer tuning of how much buffer space callchains use.
      
           This uses an u16 from the reserved space at the end, leaving
           another u16 for future use.
      
           There has been interest in even finer tuning, namely to control the
           max stack for kernel and userspace callchains separately.  Further
           discussion is needed, we may for instance use the remaining u16 for
           that and when it is present, assume that the sample_max_stack
           introduced in this patch applies for the kernel, and the u16 left
           is used for limiting the userspace callchain (Arnaldo Carvalho de
           Melo)
      
         - Optimize AUX event (hardware assisted side-band event) delivery
           (Kan Liang)
      
         - Rework Intel family name macro usage (this is partially x86 arch
           work) (Dave Hansen)
      
         - Refine and fix Intel LBR support (David Carrillo-Cisneros)
      
         - Add support for Intel 'TopDown' events (Andi Kleen)
      
         - Intel uncore PMU driver fixes and enhancements (Kan Liang)
      
         - ... other misc changes.
      
        Here's an incomplete list of the tooling enhancements (but there's
        much more, see the shortlog and the git log for details):
      
         - Support cross unwinding, i.e.  collecting '--call-graph dwarf'
           perf.data files in one machine and then doing analysis in another
           machine of a different hardware architecture.  This enables, for
           instance, to do:
      
             $ perf record -a --call-graph dwarf
      
           on a x86-32 or aarch64 system and then do 'perf report' on it on a
           x86_64 workstation (He Kuang)
      
         - Allow reading from a backward ring buffer (one setup via
           sys_perf_event_open() with perf_event_attr.write_backward = 1)
           (Wang Nan)
      
         - Finish merging initial SDT (Statically Defined Traces) support, see
           cset comments for details about how it all works (Masami Hiramatsu)
      
         - Support attaching eBPF programs to tracepoints (Wang Nan)
      
         - Add demangling of symbols in programs written in the Rust language
           (David Tolnay)
      
         - Add support for tracepoints in the python binding, including an
           example, that sets up and parses sched:sched_switch events,
           tools/perf/python/tracepoint.py (Jiri Olsa)
      
         - Introduce --stdio-color to set up the color output mode selection
           in 'annotate' and 'report', allowing emit color escape sequences
           when redirecting the output of these tools (Arnaldo Carvalho de
           Melo)
      
         - Add 'callindent' option to 'perf script -F', to indent the Intel PT
           call stack, making this output more ftrace-like (Adrian Hunter,
           Andi Kleen)
      
         - Allow dumping the object files generated by llvm when processing
           eBPF scriptlet events (Wang Nan)
      
         - Add stackcollapse.py script to help generating flame graphs (Paolo
           Bonzini)
      
         - Add --ldlat option to 'perf mem' to specify load latency for loads
           event (e.g. cpu/mem-loads/ ) (Jiri Olsa)
      
         - Tooling support for Intel TopDown counters, recently added to the
           kernel (Andi Kleen)"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (303 commits)
        perf tests: Add is_printable_array test
        perf tools: Make is_printable_array global
        perf script python: Fix string vs byte array resolving
        perf probe: Warn unmatched function filter correctly
        perf cpu_map: Add more helpers
        perf stat: Balance opening and reading events
        tools: Copy linux/{hash,poison}.h and check for drift
        perf tools: Remove include/linux/list.h from perf's MANIFEST
        tools: Copy the bitops files accessed from the kernel and check for drift
        Remove: kernel unistd*h files from perf's MANIFEST, not used
        perf tools: Remove tools/perf/util/include/linux/const.h
        perf tools: Remove tools/perf/util/include/asm/byteorder.h
        perf tools: Add missing linux/compiler.h include to perf-sys.h
        perf jit: Remove some no-op error handling
        perf jit: Add missing curly braces
        objtool: Initialize variable to silence old compiler
        objtool: Add -I$(srctree)/tools/arch/$(ARCH)/include/uapi
        perf record: Add --tail-synthesize option
        perf session: Don't warn about out of order event if write_backward is used
        perf tools: Enable overwrite settings
        ...
      7e4dc77b
    • Linus Torvalds's avatar
      Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 89e7eb09
      Linus Torvalds authored
      Pull RAS updates from Ingo Molnar:
       "The biggest change in this cycle was an enhancement by Yazen Ghannam
        to reduce the number of MCE error injection related IPIs.
      
        The rest are smaller fixes"
      
      * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mce: Fix mce_rdmsrl() warning message
        x86/RAS/AMD: Reduce the number of IPIs when prepping error injection
        x86/mce/AMD: Increase size of the bank_map type
        x86/mce: Do not use bank 1 for APEI generated error logs
      89e7eb09
    • Linus Torvalds's avatar
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c86ad14d
      Linus Torvalds authored
      Pull locking updates from Ingo Molnar:
       "The locking tree was busier in this cycle than the usual pattern - a
        couple of major projects happened to coincide.
      
        The main changes are:
      
         - implement the atomic_fetch_{add,sub,and,or,xor}() API natively
           across all SMP architectures (Peter Zijlstra)
      
         - add atomic_fetch_{inc/dec}() as well, using the generic primitives
           (Davidlohr Bueso)
      
         - optimize various aspects of rwsems (Jason Low, Davidlohr Bueso,
           Waiman Long)
      
         - optimize smp_cond_load_acquire() on arm64 and implement LSE based
           atomic{,64}_fetch_{add,sub,and,andnot,or,xor}{,_relaxed,_acquire,_release}()
           on arm64 (Will Deacon)
      
         - introduce smp_acquire__after_ctrl_dep() and fix various barrier
           mis-uses and bugs (Peter Zijlstra)
      
         - after discovering ancient spin_unlock_wait() barrier bugs in its
           implementation and usage, strengthen its semantics and update/fix
           usage sites (Peter Zijlstra)
      
         - optimize mutex_trylock() fastpath (Peter Zijlstra)
      
         - ... misc fixes and cleanups"
      
      * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (67 commits)
        locking/atomic: Introduce inc/dec variants for the atomic_fetch_$op() API
        locking/barriers, arch/arm64: Implement LDXR+WFE based smp_cond_load_acquire()
        locking/static_keys: Fix non static symbol Sparse warning
        locking/qspinlock: Use __this_cpu_dec() instead of full-blown this_cpu_dec()
        locking/atomic, arch/tile: Fix tilepro build
        locking/atomic, arch/m68k: Remove comment
        locking/atomic, arch/arc: Fix build
        locking/Documentation: Clarify limited control-dependency scope
        locking/atomic, arch/rwsem: Employ atomic_long_fetch_add()
        locking/atomic, arch/qrwlock: Employ atomic_fetch_add_acquire()
        locking/atomic, arch/mips: Convert to _relaxed atomics
        locking/atomic, arch/alpha: Convert to _relaxed atomics
        locking/atomic: Remove the deprecated atomic_{set,clear}_mask() functions
        locking/atomic: Remove linux/atomic.h:atomic_fetch_or()
        locking/atomic: Implement atomic{,64,_long}_fetch_{add,sub,and,andnot,or,xor}{,_relaxed,_acquire,_release}()
        locking/atomic: Fix atomic64_relaxed() bits
        locking/atomic, arch/xtensa: Implement atomic_fetch_{add,sub,and,or,xor}()
        locking/atomic, arch/x86: Implement atomic{,64}_fetch_{add,sub,and,or,xor}()
        locking/atomic, arch/tile: Implement atomic{,64}_fetch_{add,sub,and,or,xor}()
        locking/atomic, arch/sparc: Implement atomic{,64}_fetch_{add,sub,and,or,xor}()
        ...
      c86ad14d
    • Linus Torvalds's avatar
      Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a2303849
      Linus Torvalds authored
      Pull EFI updates from Ingo Molnar:
       "The biggest change in this cycle were SGI/UV related changes that
        clean up and fix UV boot quirks and problems.
      
        There's also various smaller cleanups and refinements"
      
      * 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        efi: Reorganize the GUID table to make it easier to read
        x86/efi: Remove the unused efi_get_time() function
        x86/efi: Update efi_thunk() to use the the arch_efi_call_virt*() macros
        x86/uv: Update uv_bios_call() to use efi_call_virt_pointer()
        efi: Convert efi_call_virt() to efi_call_virt_pointer()
        x86/efi: Remove unused variable 'efi'
        efi: Document #define FOO_PROTOCOL_GUID layout
        efibc: Report more information in the error messages
      a2303849
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · df00ccca
      Linus Torvalds authored
      Pull RCU updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - documentation updates
      
         - miscellaneous fixes
      
         - minor reorganization of code
      
         - torture-test updates"
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (30 commits)
        rcu: Correctly handle sparse possible cpus
        rcu: sysctl: Panic on RCU Stall
        rcu: Fix a typo in a comment
        rcu: Make call_rcu_tasks() tolerate first call with irqs disabled
        rcu: Disable TASKS_RCU for usermode Linux
        rcu: No ordering for rcu_assign_pointer() of NULL
        rcutorture: Fix error return code in rcu_perf_init()
        torture: Inflict default jitter
        rcuperf: Don't treat gp_exp mis-setting as a WARN
        rcutorture: Drop "-soundhw pcspkr" from x86 boot arguments
        rcutorture: Don't specify the cpu type of QEMU on PPC
        rcutorture: Make -soundhw a x86 specific option
        rcutorture: Use vmlinux as the fallback kernel image
        rcutorture/doc: Create initrd using dracut
        torture: Stop onoff task if there is only one cpu
        torture: Add starvation events to error summary
        torture:  Break online and offline functions out of torture_onoff()
        torture: Forgive lengthy trace dumps and preemption
        torture: Remove CONFIG_RCU_TORTURE_TEST_RUNNABLE, simplify code
        torture: Simplify code, eliminate RCU_PERF_TEST_RUNNABLE
        ...
      df00ccca
    • Ingo Molnar's avatar
      Merge tag 'perf-core-for-mingo-20160725' of... · 674d2d69
      Ingo Molnar authored
      Merge tag 'perf-core-for-mingo-20160725' 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:
      
      - Add AVX-512 support to the instruction decoder, used by Intel PT,
        fix vcvtph2ps instruction decoding (Adrian Hunter)
      
      - Make objtool and vdso2c use the right arch header search path
        (Stephen Rothwell, Josh Poimboeuf, Arnaldo Carvalho de Melo)
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      674d2d69
    • Arnaldo Carvalho de Melo's avatar
      Revert "perf tools: event.h needs asm/perf_regs.h" · 4e3ba8af
      Arnaldo Carvalho de Melo authored
      This reverts commit e083a21f.
      
      Not needed at all, tools/perf/util/perf_regs.h, included via:
      
        #include "perf_regs.h"
      
      Should have a definition for PERF_REGS_MAX, and since this is dependent
      on HAVE_PERF_REGS_SUPPORT, fixes the build on powerpc, noticed by trying
      to cross compile this from ubuntu16.04 with a locally build libz &
      elfutils pair, since those are not available in multilib packages.
      
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
      Link: http://lkml.kernel.org/n/tip-0bv204s71t4wuw1l53b6fz79@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      4e3ba8af