1. 05 Sep, 2017 13 commits
    • Linus Torvalds's avatar
      Merge tag 'spi-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · b88f5577
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "A fairly quiet release for the SPI subsystem:
      
         - Move to using IDR for allocating bus numbers
      
         - Modernisation of the ep93xx driver, removing a lot of open coding
           and using the framework more
      
         - The tools have been moved to use the standard tools build system
           and an install target added (there will be a fairly trivial
           conflict with tip resulting from the changes in the main tools
           Makefile)
      
         - A refactoring of the Qualcomm QUP driver which enables new variants
           to be supported
      
         - Explicit support for the Freescale i.MX53 and i.MX6 SPI, Renesas
           R-Car H3 and Rockchip RV1108 controllers"
      
      * tag 'spi-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (71 commits)
        spi: spi-falcon: drop check of boot select
        spi: imx: fix use of native chip-selects with devicetree
        spi: pl022: constify amba_id
        spi: imx: fix little-endian build
        spi: omap: Allocate bus number from spi framework
        spi: Kernel coding style fixes
        spi: imx: dynamic burst length adjust for PIO mode
        spi: Pick spi bus number from Linux idr or spi alias
        spi: rockchip: configure CTRLR1 according to size and data frame
        spi: altera: Consolidate TX/RX data register access
        spi: altera: Switch to SPI core transfer queue management
        spi: rockchip: add compatible string for rv1108 spi
        spi: qup: fix 64-bit build warning
        spi: qup: hide warning for uninitialized variable
        spi: spi-ep93xx: use the default master transfer queueing mechanism
        spi: spi-ep93xx: remove private data 'current_msg'
        spi: spi-ep93xx: pass the spi_master pointer around
        spi: spi-ep93xx: absorb the interrupt enable/disable helpers
        spi: spi-ep93xx: add spi master prepare_transfer_hardware()
        spi: spi-ep93xx: use 32-bit read/write for all registers
        ...
      b88f5577
    • Linus Torvalds's avatar
      Merge tag 'edac_for_4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 16a832a2
      Linus Torvalds authored
      Pull EDAC updates from Borislav Petkov:
      
       - pnd2_edac: A minimal sideband driver (Tony Luck)
      
       - small-ish cleanups and fixes all over the place
      
      * tag 'edac_for_4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        EDAC, mce_amd: Get rid of local var in amd_filter_mce()
        EDAC, mce_amd: Get rid of most struct cpuinfo_x86 uses
        EDAC, mce_amd: Rename decode_smca_errors() to decode_smca_error()
        EDAC: Make device_type const
        EDAC, pnd2: Properly toggle hidden state for P2SB PCI device
        EDAC, pnd2: Conditionally unhide/hide the P2SB PCI device to read BAR
        EDAC, pnd2: Mask off the lower four bits of a BAR
        EDAC, thunderx: Fix error handling path in thunderx_lmc_probe()
        EDAC, altera: Fix error handling path in altr_edac_device_probe()
        EDAC, pnd2: Build in a minimal sideband driver for Apollo Lake
        EDAC, sb_edac: Classify memory mirroring modes
        EDAC, cpc925, ppc4xx: Convert to using %pOF instead of full_name
        EDAC: Get rid of mci->mod_ver
        EDAC: Constify attribute_group structures
        EDAC, mce_amd: Use cpu_to_node() to find the node ID
      16a832a2
    • Linus Torvalds's avatar
      Merge tag 'char-misc-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · bafb0762
      Linus Torvalds authored
      Pull char/misc driver updates from Greg KH:
       "Here is the big char/misc driver update for 4.14-rc1.
      
        Lots of different stuff in here, it's been an active development cycle
        for some reason. Highlights are:
      
         - updated binder driver, this brings binder up to date with what
           shipped in the Android O release, plus some more changes that
           happened since then that are in the Android development trees.
      
         - coresight updates and fixes
      
         - mux driver file renames to be a bit "nicer"
      
         - intel_th driver updates
      
         - normal set of hyper-v updates and changes
      
         - small fpga subsystem and driver updates
      
         - lots of const code changes all over the driver trees
      
         - extcon driver updates
      
         - fmc driver subsystem upadates
      
         - w1 subsystem minor reworks and new features and drivers added
      
         - spmi driver updates
      
        Plus a smattering of other minor driver updates and fixes.
      
        All of these have been in linux-next with no reported issues for a
        while"
      
      * tag 'char-misc-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (244 commits)
        ANDROID: binder: don't queue async transactions to thread.
        ANDROID: binder: don't enqueue death notifications to thread todo.
        ANDROID: binder: Don't BUG_ON(!spin_is_locked()).
        ANDROID: binder: Add BINDER_GET_NODE_DEBUG_INFO ioctl
        ANDROID: binder: push new transactions to waiting threads.
        ANDROID: binder: remove proc waitqueue
        android: binder: Add page usage in binder stats
        android: binder: fixup crash introduced by moving buffer hdr
        drivers: w1: add hwmon temp support for w1_therm
        drivers: w1: refactor w1_slave_show to make the temp reading functionality separate
        drivers: w1: add hwmon support structures
        eeprom: idt_89hpesx: Support both ACPI and OF probing
        mcb: Fix an error handling path in 'chameleon_parse_cells()'
        MCB: add support for SC31 to mcb-lpc
        mux: make device_type const
        char: virtio: constify attribute_group structures.
        Documentation/ABI: document the nvmem sysfs files
        lkdtm: fix spelling mistake: "incremeted" -> "incremented"
        perf: cs-etm: Fix ETMv4 CONFIGR entry in perf.data file
        nvmem: include linux/err.h from header
        ...
      bafb0762
    • Linus Torvalds's avatar
      Merge tag 'driver-core-4.14-rc1' of... · 44b1671f
      Linus Torvalds authored
      Merge tag 'driver-core-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core update from Greg KH:
       "Here is the "big" driver core update for 4.14-rc1.
      
        It's really not all that big, the largest thing here being some
        firmware tests to help ensure that that crazy api is working properly.
      
        There's also a new uevent for when a driver is bound or unbound from a
        device, fixing a hole in the driver model that's been there since the
        very beginning. Many thanks to Dmitry for being persistent and
        pointing out how wrong I was about this all along :)
      
        Patches for the new uevents are already in the systemd tree, if people
        want to play around with them.
      
        Otherwise just a number of other small api changes and updates here,
        nothing major. All of these patches have been in linux-next for a
        while with no reported issues"
      
      * tag 'driver-core-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (28 commits)
        driver core: bus: Fix a potential double free
        Do not disable driver and bus shutdown hook when class shutdown hook is set.
        base: topology: constify attribute_group structures.
        base: Convert to using %pOF instead of full_name
        kernfs: Clarify lockdep name for kn->count
        fbdev: uvesafb: remove DRIVER_ATTR() usage
        xen: xen-pciback: remove DRIVER_ATTR() usage
        driver core: Document struct device:dma_ops
        mod_devicetable: Remove excess description from structured comment
        test_firmware: add batched firmware tests
        firmware: enable a debug print for batched requests
        firmware: define pr_fmt
        firmware: send -EINTR on signal abort on fallback mechanism
        test_firmware: add test case for SIGCHLD on sync fallback
        initcall_debug: add deferred probe times
        Input: axp20x-pek - switch to using devm_device_add_group()
        Input: synaptics_rmi4 - use devm_device_add_group() for attributes in F01
        Input: gpio_keys - use devm_device_add_group() for attributes
        driver core: add devm_device_add_group() and friends
        driver core: add device_{add|remove}_group() helpers
        ...
      44b1671f
    • Linus Torvalds's avatar
      Merge tag 'staging-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · bf1d6b2c
      Linus Torvalds authored
      Pull staging/IIO driver updates from Greg KH:
       "Here is the big staging and IIO driver update for 4.14-rc1.
      
        Lots of staging driver fixes and cleanups, including some reorginizing
        of the lustre header files to try to impose some sanity on what is,
        and what is not, the uapi for that filesystem.
      
        There are some tty core changes in here as well, as the speakup
        drivers need them, and that's ok with me, they are sane and the
        speakup code is getting nicer because of it.
      
        There is also the addition of the obiligatory new wifi driver, just
        because it has been a release or two since we added our last one...
      
        Other than that, lots and lots of small coding style fixes, as usual.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'staging-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (612 commits)
        staging:rtl8188eu:core Fix remove unneccessary else block
        staging: typec: fusb302: make structure fusb302_psy_desc static
        staging: unisys: visorbus: make two functions static
        staging: fsl-dpaa2/eth: fix off-by-one FD ctrl bitmaks
        staging: r8822be: Simplify deinit_priv()
        staging: r8822be: Remove some dead code
        staging: vboxvideo: Use CONFIG_DRM_KMS_FB_HELPER to check for fbdefio availability
        staging:rtl8188eu Fix comparison to NULL
        staging: rts5208: rename mmc_ddr_tunning_rx_cmd to mmc_ddr_tuning_rx_cmd
        Staging: Pi433: style fix - tabs and spaces
        staging: pi433: fix spelling mistake: "preample" -> "preamble"
        staging:rtl8188eu:core Fix Code Indent
        staging: typec: fusb302: Export current-limit through a power_supply class dev
        staging: typec: fusb302: Add support for USB2 charger detection through extcon
        staging: typec: fusb302: Use client->irq as irq if set
        staging: typec: fusb302: Get max snk mv/ma/mw from device-properties
        staging: typec: fusb302: Set max supply voltage to 5V
        staging: typec: tcpm: Add get_current_limit tcpc_dev callback
        staging:rtl8188eu Use __func__ instead of function name
        staging: lustre: coding style fixes found by checkpatch.pl
        ...
      bf1d6b2c
    • Linus Torvalds's avatar
      Merge tag 'tty-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · e63a94f1
      Linus Torvalds authored
      Pull tty/serial updates from Greg KH:
       "Here is the big tty/serial driver update for 4.14-rc1.
      
        Well, not all that big, just a number of small serial driver fixes,
        and a new serial driver. Also in here are some much needed goldfish
        tty driver (emulator) fixes to try to get that codebase under control.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'tty-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (94 commits)
        tty: goldfish: Implement support for kernel 'earlycon' parameter
        tty: goldfish: Use streaming DMA for r/w operations on Ranchu platforms
        tty: goldfish: Refactor constants to better reflect their nature
        serial: 8250_port: Remove useless NULL checks
        earlycon: initialise baud field of earlycon device structure
        tty: hvcs: make ktermios const
        pty: show associative slave of ptmx in fdinfo
        tty: n_gsm: Add compat_ioctl
        tty: hvcs: constify vio_device_id
        tty: hvc_vio: constify vio_device_id
        tty: mips_ejtag_fdc: constify mips_cdmm_device_id
        Introduce 8250_men_mcb
        mcb: introduce mcb_get_resource()
        serial: imx: Avoid post-PIO cleanup if TX DMA is started
        tty: serial: imx: disable irq after suspend
        serial: 8250_uniphier: add suspend/resume support
        serial: 8250_uniphier: use CHAR register for canary to detect power-off
        serial: 8250_uniphier: fix serial port index in private data
        serial: 8250: of: Add new port type for MediaTek BTIF controller on MT7622/23 SoC
        dt-bindings: serial: 8250: Add MediaTek BTIF controller bindings
        ...
      e63a94f1
    • Linus Torvalds's avatar
      Merge tag 'usb-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 1a3b85ea
      Linus Torvalds authored
      Pull USB/PHY driver updates from Greg KH:
       "Here is the large USB and PHY driver update for 4.14-rc1.
      
        Not all that exciting, a few new PHY drivers, the usual mess of gadget
        driver updates and fixes, and of course, xhci updates to try to tame
        that beast.
      
        A number of usb-serial updates and other small fixes all over the USB
        driver tree are in here as well. Full details are in the shortlog.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'usb-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (171 commits)
        usbip: vhci-hcd: make vhci_hc_driver const
        usb: phy: Avoid unchecked dereference warning
        usb: imx21-hcd: make imx21_hc_driver const
        usb: host: make ehci_fsl_overrides const and __initconst
        dt-bindings: mt8173-mtu3: add generic compatible and rename file
        dt-bindings: mt8173-xhci: add generic compatible and rename file
        usb: xhci-mtk: add generic compatible string
        usbip: auto retry for concurrent attach
        USB: serial: option: simplify 3 D-Link device entries
        USB: serial: option: add support for D-Link DWM-157 C1
        usb: core: usbport: fix "BUG: key not in .data" when lockdep is enabled
        usb: chipidea: usb2: check memory allocation failure
        usb: Add device quirk for Logitech HD Pro Webcam C920-C
        usb: misc: lvstest: add entry to place port in compliance mode
        usb: xhci: Support enabling of compliance mode for xhci 1.1
        usb:xhci:Fix regression when ATI chipsets detected
        usb: quirks: add delay init quirk for Corsair Strafe RGB keyboard
        usb: gadget: make snd_pcm_hardware const
        usb: common: use of_property_read_bool()
        USB: core: constify vm_operations_struct
        ...
      1a3b85ea
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 04759194
      Linus Torvalds authored
      Pull arm64 updates from Catalin Marinas:
      
       - VMAP_STACK support, allowing the kernel stacks to be allocated in the
         vmalloc space with a guard page for trapping stack overflows. One of
         the patches introduces THREAD_ALIGN and changes the generic
         alloc_thread_stack_node() to use this instead of THREAD_SIZE (no
         functional change for other architectures)
      
       - Contiguous PTE hugetlb support re-enabled (after being reverted a
         couple of times). We now have the semantics agreed in the generic mm
         layer together with API improvements so that the architecture code
         can detect between contiguous and non-contiguous huge PTEs
      
       - Initial support for persistent memory on ARM: DC CVAP instruction
         exposed to user space (HWCAP) and the in-kernel pmem API implemented
      
       - raid6 improvements for arm64: faster algorithm for the delta syndrome
         and implementation of the recovery routines using Neon
      
       - FP/SIMD refactoring and removal of support for Neon in interrupt
         context. This is in preparation for full SVE support
      
       - PTE accessors converted from inline asm to cmpxchg so that we can use
         LSE atomics if available (ARMv8.1)
      
       - Perf support for Cortex-A35 and A73
      
       - Non-urgent fixes and cleanups
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (75 commits)
        arm64: cleanup {COMPAT_,}SET_PERSONALITY() macro
        arm64: introduce separated bits for mm_context_t flags
        arm64: hugetlb: Cleanup setup_hugepagesz
        arm64: Re-enable support for contiguous hugepages
        arm64: hugetlb: Override set_huge_swap_pte_at() to support contiguous hugepages
        arm64: hugetlb: Override huge_pte_clear() to support contiguous hugepages
        arm64: hugetlb: Handle swap entries in huge_pte_offset() for contiguous hugepages
        arm64: hugetlb: Add break-before-make logic for contiguous entries
        arm64: hugetlb: Spring clean huge pte accessors
        arm64: hugetlb: Introduce pte_pgprot helper
        arm64: hugetlb: set_huge_pte_at Add WARN_ON on !pte_present
        arm64: kexec: have own crash_smp_send_stop() for crash dump for nonpanic cores
        arm64: dma-mapping: Mark atomic_pool as __ro_after_init
        arm64: dma-mapping: Do not pass data to gen_pool_set_algo()
        arm64: Remove the !CONFIG_ARM64_HW_AFDBM alternative code paths
        arm64: Ignore hardware dirty bit updates in ptep_set_wrprotect()
        arm64: Move PTE_RDONLY bit handling out of set_pte_at()
        kvm: arm64: Convert kvm_set_s2pte_readonly() from inline asm to cmpxchg()
        arm64: Convert pte handling from inline asm to using (cmp)xchg
        arm64: neon/efi: Make EFI fpsimd save/restore variables static
        ...
      04759194
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 9e85ae6a
      Linus Torvalds authored
      Pull s390 updates from Martin Schwidefsky:
       "The first part of the s390 updates for 4.14:
      
         - Add machine type 0x3906 for IBM z14
      
         - Add IBM z14 TLB flushing improvements for KVM guests
      
         - Exploit the TOD clock epoch extension to provide a continuous TOD
           clock afer 2042/09/17
      
         - Add NIAI spinlock hints for IBM z14
      
         - Rework the vmcp driver and use CMA for the respone buffer of z/VM
           CP commands
      
         - Drop some s390 specific asm headers and use the generic version
      
         - Add block discard for DASD-FBA devices under z/VM
      
         - Add average request times to DASD statistics
      
         - A few of those constify patches which seem to be in vogue right now
      
         - Cleanup and bug fixes"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (50 commits)
        s390/mm: avoid empty zero pages for KVM guests to avoid postcopy hangs
        s390/dasd: Add discard support for FBA devices
        s390/zcrypt: make CPRBX const
        s390/uaccess: avoid mvcos jump label
        s390/mm: use generic mm_hooks
        s390/facilities: fix typo
        s390/vmcp: simplify vmcp_response_free()
        s390/topology: Remove the unused parent_node() macro
        s390/dasd: Change unsigned long long to unsigned long
        s390/smp: convert cpuhp_setup_state() return code to zero on success
        s390: fix 'novx' early parameter handling
        s390/dasd: add average request times to dasd statistics
        s390/scm: use common completion path
        s390/pci: log changes to uid checking
        s390/vmcp: simplify vmcp_ioctl()
        s390/vmcp: return -ENOTTY for unknown ioctl commands
        s390/vmcp: split vmcp header file and move to uapi
        s390/vmcp: make use of contiguous memory allocator
        s390/cpcmd,vmcp: avoid GFP_DMA allocations
        s390/vmcp: fix uaccess check and avoid undefined behavior
        ...
      9e85ae6a
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha · 6caffe21
      Linus Torvalds authored
      Pull alpha updates from Matt Turner:
       "This contains some small clean up patches I've neglected, and some
        build improvements from Ben Hutchings"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha:
        alpha: math-emu: Fix modular build
        alpha: Restore symbol versions for symbols exported from assembly
        alpha: defconfig: Cleanup from old Kconfig options
        alpha: use kobj_to_dev()
        alpha: squash lines for immediate return
        alpha: kernel: Use vma_pages()
        alpha: silence a buffer overflow warning
        alpha: marvel: make use of raw_spinlock variants
        alpha: cleanup: remove __NR_sys_epoll_*, leave __NR_epoll_*
        alpha: use generic fb.h
      6caffe21
    • Linus Torvalds's avatar
      Merge branch 'parisc-4.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · f32c9e05
      Linus Torvalds authored
      Pull parisc updates from Helge Deller:
       "Major changes include:
      
         - Full support of the firmware Page Deallocation Table with
           MADV_HWPOISON and MADV_SOFT_OFFLINE. A kernel thread scans
           regularily for new bad memory pages.
      
         - Full support for self-extracting kernel.
      
         - Added UBSAN support.
      
         - Lots of section mismatch fixes across all parisc drivers.
      
         - Added examples for %pF and %pS usage in printk-formats.txt"
      
      * 'parisc-4.14-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: (28 commits)
        printk-formats.txt: Add examples for %pF and %pS usage
        parisc: Fix up devices below a PCI-PCI MegaRAID controller bridge
        parisc/core: Fix section mismatches
        parisc/ipmi_si_intf: Fix section mismatches on parisc platform
        parisc/input/hilkbd: Fix section mismatches
        parisc/net/lasi_82596: Fix section mismatches
        parisc/serio: Fix section mismatches in gscps2 and hp_sdc drivers
        parisc: Fix section mismatches in parisc core drivers
        parisc/parport_gsc: Fix section mismatches
        parisc/scsi/lasi700: Fix section mismatches
        parisc/scsi/zalon: Fix section mismatches
        parisc/8250_gsc: Fix section mismatches
        parisc/mux: Fix section mismatches
        parisc/sticore: Fix section mismatches
        parisc/harmony: Fix section mismatches
        parisc: Wire up support for self-extracting kernel
        parisc: Make existing core files reuseable for bootloader
        parisc: Add core code for self-extracting kernel
        parisc: Enable UBSAN support
        parisc/random: Add machine specific randomness
        ...
      f32c9e05
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v4.14-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · d1ce4956
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
        - restore symbol versions for symbols exported from assembly
      
        - defconfig updates
      
        - Mac fixes
      
      * tag 'm68k-for-v4.14-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k/mac: Avoid soft-lockup warning after mach_power_off
        m68k/mac: Don't hang waiting for Cuda power-down command
        m68k: Restore symbol versions for symbols exported from assembly
        m68k/defconfig: Update defconfigs for v4.13-rc1
      d1ce4956
    • Linus Torvalds's avatar
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 24e700e2
      Linus Torvalds authored
      Pull x86 apic updates from Thomas Gleixner:
       "This update provides:
      
         - Cleanup of the IDT management including the removal of the extra
           tracing IDT. A first step to cleanup the vector management code.
      
         - The removal of the paravirt op adjust_exception_frame. This is a
           XEN specific issue, but merged through this branch to avoid nasty
           merge collisions
      
         - Prevent dmesg spam about the TSC DEADLINE bug, when the CPU has
           disabled the TSC DEADLINE timer in CPUID.
      
         - Adjust a debug message in the ioapic code to print out the
           information correctly"
      
      * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (51 commits)
        x86/idt: Fix the X86_TRAP_BP gate
        x86/xen: Get rid of paravirt op adjust_exception_frame
        x86/eisa: Add missing include
        x86/idt: Remove superfluous ALIGNment
        x86/apic: Silence "FW_BUG TSC_DEADLINE disabled due to Errata" on CPUs without the feature
        x86/idt: Remove the tracing IDT leftovers
        x86/idt: Hide set_intr_gate()
        x86/idt: Simplify alloc_intr_gate()
        x86/idt: Deinline setup functions
        x86/idt: Remove unused functions/inlines
        x86/idt: Move interrupt gate initialization to IDT code
        x86/idt: Move APIC gate initialization to tables
        x86/idt: Move regular trap init to tables
        x86/idt: Move IST stack based traps to table init
        x86/idt: Move debug stack init to table based
        x86/idt: Switch early trap init to IDT tables
        x86/idt: Prepare for table based init
        x86/idt: Move early IDT setup out of 32-bit asm
        x86/idt: Move early IDT handler setup to IDT code
        x86/idt: Consolidate IDT invalidation
        ...
      24e700e2
  2. 04 Sep, 2017 27 commits
    • Linus Torvalds's avatar
      Merge branch 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f5709176
      Linus Torvalds authored
      Pull x86 cache quality monitoring update from Thomas Gleixner:
       "This update provides a complete rewrite of the Cache Quality
        Monitoring (CQM) facility.
      
        The existing CQM support was duct taped into perf with a lot of issues
        and the attempts to fix those turned out to be incomplete and
        horrible.
      
        After lengthy discussions it was decided to integrate the CQM support
        into the Resource Director Technology (RDT) facility, which is the
        obvious choise as in hardware CQM is part of RDT. This allowed to add
        Memory Bandwidth Monitoring support on top.
      
        As a result the mechanisms for allocating cache/memory bandwidth and
        the corresponding monitoring mechanisms are integrated into a single
        management facility with a consistent user interface"
      
      * 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (37 commits)
        x86/intel_rdt: Turn off most RDT features on Skylake
        x86/intel_rdt: Add command line options for resource director technology
        x86/intel_rdt: Move special case code for Haswell to a quirk function
        x86/intel_rdt: Remove redundant ternary operator on return
        x86/intel_rdt/cqm: Improve limbo list processing
        x86/intel_rdt/mbm: Fix MBM overflow handler during CPU hotplug
        x86/intel_rdt: Modify the intel_pqr_state for better performance
        x86/intel_rdt/cqm: Clear the default RMID during hotcpu
        x86/intel_rdt: Show bitmask of shareable resource with other executing units
        x86/intel_rdt/mbm: Handle counter overflow
        x86/intel_rdt/mbm: Add mbm counter initialization
        x86/intel_rdt/mbm: Basic counting of MBM events (total and local)
        x86/intel_rdt/cqm: Add CPU hotplug support
        x86/intel_rdt/cqm: Add sched_in support
        x86/intel_rdt: Introduce rdt_enable_key for scheduling
        x86/intel_rdt/cqm: Add mount,umount support
        x86/intel_rdt/cqm: Add rmdir support
        x86/intel_rdt: Separate the ctrl bits from rmdir
        x86/intel_rdt/cqm: Add mon_data
        x86/intel_rdt: Prepare for RDT monitor data support
        ...
      f5709176
    • Linus Torvalds's avatar
      Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d725c7ac
      Linus Torvalds authored
      Pull CPU hotplug fix from Thomas Gleixner:
       "A single fix to handle the removal of the first dynamic CPU hotplug
        state correctly"
      
      * 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        smp/hotplug: Handle removal correctly in cpuhp_store_callbacks()
      d725c7ac
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 93cc1228
      Linus Torvalds authored
      Pull irq updates from Thomas Gleixner:
       "The interrupt subsystem delivers this time:
      
         - Refactoring of the GIC-V3 driver to prepare for the GIC-V4 support
      
         - Initial GIC-V4 support
      
         - Consolidation of the FSL MSI support
      
         - Utilize the effective affinity interface in various ARM irqchip
           drivers
      
         - Yet another interrupt chip driver (UniPhier AIDET)
      
         - Bulk conversion of the irq chip driver to use %pOF
      
         - The usual small fixes and improvements all over the place"
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (77 commits)
        irqchip/ls-scfg-msi: Add MSI affinity support
        irqchip/ls-scfg-msi: Add LS1043a v1.1 MSI support
        irqchip/ls-scfg-msi: Add LS1046a MSI support
        arm64: dts: ls1046a: Add MSI dts node
        arm64: dts: ls1043a: Share all MSIs
        arm: dts: ls1021a: Share all MSIs
        arm64: dts: ls1043a: Fix typo of MSI compatible string
        arm: dts: ls1021a: Fix typo of MSI compatible string
        irqchip/ls-scfg-msi: Fix typo of MSI compatible strings
        irqchip/irq-bcm7120-l2: Use correct I/O accessors for irq_fwd_mask
        irqchip/mmp: Make mmp_intc_conf const
        irqchip/gic: Make irq_chip const
        irqchip/gic-v3: Advertise GICv4 support to KVM
        irqchip/gic-v4: Enable low-level GICv4 operations
        irqchip/gic-v4: Add some basic documentation
        irqchip/gic-v4: Add VLPI configuration interface
        irqchip/gic-v4: Add VPE command interface
        irqchip/gic-v4: Add per-VM VPE domain creation
        irqchip/gic-v3-its: Set implementation defined bit to enable VLPIs
        irqchip/gic-v3-its: Allow doorbell interrupts to be injected/cleared
        ...
      93cc1228
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · dd90cccf
      Linus Torvalds authored
      Pull timer fixes from Thomas Gleixner:
       "A rather small update for the time(r) subsystem:
      
         - A new clocksource driver IMX-TPM
      
         - Minor fixes to the alarmtimer facility
      
         - Device tree cleanups for Renesas drivers
      
         - A new kselftest and fixes for the timer related tests
      
         - Conversion of the clocksource drivers to use %pOF
      
         - Use the proper helpers to access rlimits in the posix-cpu-timer
           code"
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        alarmtimer: Ensure RTC module is not unloaded
        clocksource: Convert to using %pOF instead of full_name
        clocksource/drivers/bcm2835: Remove message for a memory allocation failure
        devicetree: bindings: Remove deprecated properties
        devicetree: bindings: Remove unused 32-bit CMT bindings
        devicetree: bindings: Deprecate property, update example
        devicetree: bindings: r8a73a4 and R-Car Gen2 CMT bindings
        devicetree: bindings: R-Car Gen2 CMT0 and CMT1 bindings
        devicetree: bindings: Remove sh7372 CMT binding
        clocksource/drivers/imx-tpm: Add imx tpm timer support
        dt-bindings: timer: Add nxp tpm timer binding doc
        posix-cpu-timers: Use dedicated helper to access rlimit values
        alarmtimer: Fix unavailable wake-up source in sysfs
        timekeeping: Use proper timekeeper for debug code
        kselftests: timers: set-timer-lat: Add one-shot timer test cases
        kselftests: timers: set-timer-lat: Tweak reporting when timer fires early
        kselftests: timers: freq-step: Fix build warning
        kselftests: timers: freq-step: Define ADJ_SETOFFSET if device has older kernel headers
      dd90cccf
    • Linus Torvalds's avatar
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b1b6f83a
      Linus Torvalds authored
      Pull x86 mm changes from Ingo Molnar:
       "PCID support, 5-level paging support, Secure Memory Encryption support
      
        The main changes in this cycle are support for three new, complex
        hardware features of x86 CPUs:
      
         - Add 5-level paging support, which is a new hardware feature on
           upcoming Intel CPUs allowing up to 128 PB of virtual address space
           and 4 PB of physical RAM space - a 512-fold increase over the old
           limits. (Supercomputers of the future forecasting hurricanes on an
           ever warming planet can certainly make good use of more RAM.)
      
           Many of the necessary changes went upstream in previous cycles,
           v4.14 is the first kernel that can enable 5-level paging.
      
           This feature is activated via CONFIG_X86_5LEVEL=y - disabled by
           default.
      
           (By Kirill A. Shutemov)
      
         - Add 'encrypted memory' support, which is a new hardware feature on
           upcoming AMD CPUs ('Secure Memory Encryption', SME) allowing system
           RAM to be encrypted and decrypted (mostly) transparently by the
           CPU, with a little help from the kernel to transition to/from
           encrypted RAM. Such RAM should be more secure against various
           attacks like RAM access via the memory bus and should make the
           radio signature of memory bus traffic harder to intercept (and
           decrypt) as well.
      
           This feature is activated via CONFIG_AMD_MEM_ENCRYPT=y - disabled
           by default.
      
           (By Tom Lendacky)
      
         - Enable PCID optimized TLB flushing on newer Intel CPUs: PCID is a
           hardware feature that attaches an address space tag to TLB entries
           and thus allows to skip TLB flushing in many cases, even if we
           switch mm's.
      
           (By Andy Lutomirski)
      
        All three of these features were in the works for a long time, and
        it's coincidence of the three independent development paths that they
        are all enabled in v4.14 at once"
      
      * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (65 commits)
        x86/mm: Enable RCU based page table freeing (CONFIG_HAVE_RCU_TABLE_FREE=y)
        x86/mm: Use pr_cont() in dump_pagetable()
        x86/mm: Fix SME encryption stack ptr handling
        kvm/x86: Avoid clearing the C-bit in rsvd_bits()
        x86/CPU: Align CR3 defines
        x86/mm, mm/hwpoison: Clear PRESENT bit for kernel 1:1 mappings of poison pages
        acpi, x86/mm: Remove encryption mask from ACPI page protection type
        x86/mm, kexec: Fix memory corruption with SME on successive kexecs
        x86/mm/pkeys: Fix typo in Documentation/x86/protection-keys.txt
        x86/mm/dump_pagetables: Speed up page tables dump for CONFIG_KASAN=y
        x86/mm: Implement PCID based optimization: try to preserve old TLB entries using PCID
        x86: Enable 5-level paging support via CONFIG_X86_5LEVEL=y
        x86/mm: Allow userspace have mappings above 47-bit
        x86/mm: Prepare to expose larger address space to userspace
        x86/mpx: Do not allow MPX if we have mappings above 47-bit
        x86/mm: Rename tasksize_32bit/64bit to task_size_32bit/64bit()
        x86/xen: Redefine XEN_ELFNOTE_INIT_P2M using PUD_SIZE * PTRS_PER_PUD
        x86/mm/dump_pagetables: Fix printout of p4d level
        x86/mm/dump_pagetables: Generalize address normalization
        x86/boot: Fix memremap() related build failure
        ...
      b1b6f83a
    • Ben Hutchings's avatar
      alpha: math-emu: Fix modular build · d9e3cb2f
      Ben Hutchings authored
      Commit 00fc0e0d ("alpha: move exports to actual definitions") also
      removed the exports of the math emulator hooks, which are defined in C
      code.  In case anyone cares about the option of CONFIG_MATHEMU=m, add
      exports next to those definitions.  Also add a MODULE_LICENSE.
      
      Fixes: 00fc0e0d ("alpha: move exports to actual definitions")
      Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      d9e3cb2f
    • Ben Hutchings's avatar
      alpha: Restore symbol versions for symbols exported from assembly · 873f9b5b
      Ben Hutchings authored
      Add <asm/asm-prototypes.h> so that genksyms knows the types of
      these symbols and can generate CRCs for them.
      
      Fixes: 00fc0e0d ("alpha: move exports to actual definitions")
      Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      873f9b5b
    • Krzysztof Kozlowski's avatar
      alpha: defconfig: Cleanup from old Kconfig options · 81f166c2
      Krzysztof Kozlowski authored
      Remove old, dead Kconfig options (in order appearing in this commit):
       - IP_NF_QUEUE: commit 3dd6664f ("netfilter: remove unused "config
         IP_NF_QUEUE"");
       - AUTOFS_FS: commit 561c5cf9 ("staging: Remove autofs3");
      Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      81f166c2
    • Geliang Tang's avatar
      alpha: use kobj_to_dev() · 8c9b839c
      Geliang Tang authored
      Use kobj_to_dev() instead of open-coding it.
      Signed-off-by: default avatarGeliang Tang <geliangtang@163.com>
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      8c9b839c
    • Masahiro Yamada's avatar
      alpha: squash lines for immediate return · 203308a5
      Masahiro Yamada authored
      Remove unneeded variables and assignments.
      
      While we are here, fix the coding style of SMC37c669_read_config():
        - replace whitespaces at the start of lines with tabs
        - remove unneeded whitespaces around parentheses
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      203308a5
    • Shyam Saini's avatar
      alpha: kernel: Use vma_pages() · 236d62b0
      Shyam Saini authored
      Replace explicit computation of vma page count by a call to
      vma_pages()
      Signed-off-by: default avatarShyam Saini <mayhs11saini@gmail.com>
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      236d62b0
    • Dan Carpenter's avatar
      alpha: silence a buffer overflow warning · 03e1f044
      Dan Carpenter authored
      We check that "member" is in bounds for the first line, but we also use
      it on the next line without checking which is a mistake.
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      03e1f044
    • Julia Cartwright's avatar
      alpha: marvel: make use of raw_spinlock variants · b5a3a128
      Julia Cartwright authored
      The alpha/marvel code currently implements an irq_chip for handling
      interrupts; due to how irq_chip handling is done, it's necessary for the
      irq_chip methods to be invoked from hardirq context, even on a a
      real-time kernel.  Because the spinlock_t type becomes a "sleeping"
      spinlock w/ RT kernels, it is not suitable to be used with irq_chips.
      
      A quick audit of the operations under the lock reveal that they do only
      minimal, bounded work, and are therefore safe to do under a raw spinlock.
      Signed-off-by: default avatarJulia Cartwright <julia@ni.com>
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      b5a3a128
    • Sergei Trofimovich's avatar
      alpha: cleanup: remove __NR_sys_epoll_*, leave __NR_epoll_* · beb1057f
      Sergei Trofimovich authored
      __NR_sys_epoll_create and friends are alpha-specific
      while __NR_epoll_create is a generic name for other
      arches.
      
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: linux-alpha@vger.kernel.org
      Cc: linux-kernel@vger.kernel.org
      Signed-off-by: default avatarSergei Trofimovich <slyfox@gentoo.org>
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      beb1057f
    • Tobias Klauser's avatar
      alpha: use generic fb.h · 1c0234aa
      Tobias Klauser authored
      The arch uses a verbatim copy of the asm-generic version and does not
      add any own implemntations to the header, so use asm-generic/fb.h
      instead of duplicating code.
      Signed-off-by: default avatarTobias Klauser <tklauser@distanz.ch>
      Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
      1c0234aa
    • Linus Torvalds's avatar
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5f82e71a
      Linus Torvalds authored
      Pull locking updates from Ingo Molnar:
      
       - Add 'cross-release' support to lockdep, which allows APIs like
         completions, where it's not the 'owner' who releases the lock, to be
         tracked. It's all activated automatically under
         CONFIG_PROVE_LOCKING=y.
      
       - Clean up (restructure) the x86 atomics op implementation to be more
         readable, in preparation of KASAN annotations. (Dmitry Vyukov)
      
       - Fix static keys (Paolo Bonzini)
      
       - Add killable versions of down_read() et al (Kirill Tkhai)
      
       - Rework and fix jump_label locking (Marc Zyngier, Paolo Bonzini)
      
       - Rework (and fix) tlb_flush_pending() barriers (Peter Zijlstra)
      
       - Remove smp_mb__before_spinlock() and convert its usages, introduce
         smp_mb__after_spinlock() (Peter Zijlstra)
      
      * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (56 commits)
        locking/lockdep/selftests: Fix mixed read-write ABBA tests
        sched/completion: Avoid unnecessary stack allocation for COMPLETION_INITIALIZER_ONSTACK()
        acpi/nfit: Fix COMPLETION_INITIALIZER_ONSTACK() abuse
        locking/pvqspinlock: Relax cmpxchg's to improve performance on some architectures
        smp: Avoid using two cache lines for struct call_single_data
        locking/lockdep: Untangle xhlock history save/restore from task independence
        locking/refcounts, x86/asm: Disable CONFIG_ARCH_HAS_REFCOUNT for the time being
        futex: Remove duplicated code and fix undefined behaviour
        Documentation/locking/atomic: Finish the document...
        locking/lockdep: Fix workqueue crossrelease annotation
        workqueue/lockdep: 'Fix' flush_work() annotation
        locking/lockdep/selftests: Add mixed read-write ABBA tests
        mm, locking/barriers: Clarify tlb_flush_pending() barriers
        locking/lockdep: Make CONFIG_LOCKDEP_CROSSRELEASE and CONFIG_LOCKDEP_COMPLETIONS truly non-interactive
        locking/lockdep: Explicitly initialize wq_barrier::done::map
        locking/lockdep: Rename CONFIG_LOCKDEP_COMPLETE to CONFIG_LOCKDEP_COMPLETIONS
        locking/lockdep: Reword title of LOCKDEP_CROSSRELEASE config
        locking/lockdep: Make CONFIG_LOCKDEP_CROSSRELEASE part of CONFIG_PROVE_LOCKING
        locking/refcounts, x86/asm: Implement fast refcount overflow protection
        locking/lockdep: Fix the rollback and overwrite detection logic in crossrelease
        ...
      5f82e71a
    • Linus Torvalds's avatar
      Merge branch 'x86-syscall-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6c51e67b
      Linus Torvalds authored
      Pull syscall updates from Ingo Molnar:
       "Improve the security of set_fs(): we now check the address limit on a
        number of key platforms (x86, arm, arm64) before returning to
        user-space - without adding overhead to the typical system call fast
        path"
      
      * 'x86-syscall-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        arm64/syscalls: Check address limit on user-mode return
        arm/syscalls: Check address limit on user-mode return
        x86/syscalls: Check address limit on user-mode return
      6c51e67b
    • Linus Torvalds's avatar
      Merge branch 'x86-spinlocks-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e0a195b5
      Linus Torvalds authored
      Pull x86 spinlock update from Ingo Molnar:
       "Convert an NMI lock to raw"
      
      [ Clarification: it's not that the lock itself is NMI-safe, it's about
        NMI registration called from RT contexts  - Linus ]
      
      * 'x86-spinlocks-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/nmi: Use raw lock
      e0a195b5
    • Linus Torvalds's avatar
      Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0098410d
      Linus Torvalds authored
      Pull x86 microcode loading updates from Ingo Molnar:
       "Update documentation, improve robustness and fix a memory leak"
      
      * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/microcode/intel: Improve microcode patches saving flow
        x86/microcode: Document the three loading methods
        x86/microcode/AMD: Free unneeded patch before exit from update_cache()
      0098410d
    • Linus Torvalds's avatar
      Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f29139bf
      Linus Torvalds authored
      Pull x86 debug updates from Ingo Molnar:
       "Various fixes to the NUMA emulation code"
      
      * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/numa_emulation: Recalculate numa_nodes_parsed from emulated nodes
        x86/numa_emulation: Assign physnode_mask directly from numa_nodes_parsed
        x86/numa_emulation: Refine the calculation of max_emu_nid and dfl_phys_nid
      f29139bf
    • Linus Torvalds's avatar
      Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a1400cdb
      Linus Torvalds authored
      Pull x86 cpuid updates from Ingo Molnar:
       "AMD F17h related updates"
      
      * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/cpu/amd: Hide unused legacy_fixup_core_id() function
        x86/cpu/amd: Derive L3 shared_cpu_map from cpu_llc_shared_mask
        x86/cpu/amd: Limit cpu_core_id fixup to families older than F17h
      a1400cdb
    • Linus Torvalds's avatar
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d5e54c4e
      Linus Torvalds authored
      Pull x86 build updates from Ingo Molnar:
       "More Clang support related fixes"
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/build: Use cc-option to validate stack alignment parameter
        x86/build: Fix stack alignment for CLang
        x86/build: Drop unused mflags-y
      d5e54c4e
    • Linus Torvalds's avatar
      Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 45153920
      Linus Torvalds authored
      Pull x86 boot updates from Ingo Molnar:
       "The main changes are KASL related fixes and cleanups: in particular we
        now exclude certain physical memory ranges as KASLR randomization
        targets that have proven to be unreliable (early-)RAM on some firmware
        versions"
      
      * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot/KASLR: Work around firmware bugs by excluding EFI_BOOT_SERVICES_* and EFI_LOADER_* from KASLR's choice
        x86/boot/KASLR: Prefer mirrored memory regions for the kernel physical address
        efi: Introduce efi_early_memdesc_ptr to get pointer to memmap descriptor
        x86/boot/KASLR: Rename process_e820_entry() into process_mem_region()
        x86/boot/KASLR: Switch to pass struct mem_vector to process_e820_entry()
        x86/boot/KASLR: Wrap e820 entries walking code into new function process_e820_entries()
      45153920
    • Linus Torvalds's avatar
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b0c79f49
      Linus Torvalds authored
      Pull x86 asm updates from Ingo Molnar:
      
       - Introduce the ORC unwinder, which can be enabled via
         CONFIG_ORC_UNWINDER=y.
      
         The ORC unwinder is a lightweight, Linux kernel specific debuginfo
         implementation, which aims to be DWARF done right for unwinding.
         Objtool is used to generate the ORC unwinder tables during build, so
         the data format is flexible and kernel internal: there's no
         dependency on debuginfo created by an external toolchain.
      
         The ORC unwinder is almost two orders of magnitude faster than the
         (out of tree) DWARF unwinder - which is important for perf call graph
         profiling. It is also significantly simpler and is coded defensively:
         there has not been a single ORC related kernel crash so far, even
         with early versions. (knock on wood!)
      
         But the main advantage is that enabling the ORC unwinder allows
         CONFIG_FRAME_POINTERS to be turned off - which speeds up the kernel
         measurably:
      
         With frame pointers disabled, GCC does not have to add frame pointer
         instrumentation code to every function in the kernel. The kernel's
         .text size decreases by about 3.2%, resulting in better cache
         utilization and fewer instructions executed, resulting in a broad
         kernel-wide speedup. Average speedup of system calls should be
         roughly in the 1-3% range - measurements by Mel Gorman [1] have shown
         a speedup of 5-10% for some function execution intense workloads.
      
         The main cost of the unwinder is that the unwinder data has to be
         stored in RAM: the memory cost is 2-4MB of RAM, depending on kernel
         config - which is a modest cost on modern x86 systems.
      
         Given how young the ORC unwinder code is it's not enabled by default
         - but given the performance advantages the plan is to eventually make
         it the default unwinder on x86.
      
         See Documentation/x86/orc-unwinder.txt for more details.
      
       - Remove lguest support: its intended role was that of a temporary
         proof of concept for virtualization, plus its removal will enable the
         reduction (removal) of the paravirt API as well, so Rusty agreed to
         its removal. (Juergen Gross)
      
       - Clean up and fix FSGS related functionality (Andy Lutomirski)
      
       - Clean up IO access APIs (Andy Shevchenko)
      
       - Enhance the symbol namespace (Jiri Slaby)
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (47 commits)
        objtool: Handle GCC stack pointer adjustment bug
        x86/entry/64: Use ENTRY() instead of ALIGN+GLOBAL for stub32_clone()
        x86/fpu/math-emu: Add ENDPROC to functions
        x86/boot/64: Extract efi_pe_entry() from startup_64()
        x86/boot/32: Extract efi_pe_entry() from startup_32()
        x86/lguest: Remove lguest support
        x86/paravirt/xen: Remove xen_patch()
        objtool: Fix objtool fallthrough detection with function padding
        x86/xen/64: Fix the reported SS and CS in SYSCALL
        objtool: Track DRAP separately from callee-saved registers
        objtool: Fix validate_branch() return codes
        x86: Clarify/fix no-op barriers for text_poke_bp()
        x86/switch_to/64: Rewrite FS/GS switching yet again to fix AMD CPUs
        selftests/x86/fsgsbase: Test selectors 1, 2, and 3
        x86/fsgsbase/64: Report FSBASE and GSBASE correctly in core dumps
        x86/fsgsbase/64: Fully initialize FS and GS state in start_thread_common
        x86/asm: Fix UNWIND_HINT_REGS macro for older binutils
        x86/asm/32: Fix regs_get_register() on segment registers
        x86/xen/64: Rearrange the SYSCALL entries
        x86/asm/32: Remove a bunch of '& 0xffff' from pt_regs segment reads
        ...
      b0c79f49
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f213a6c8
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - fix affine wakeups (Peter Zijlstra)
      
         - improve CPU onlining (and general bootup) scalability on systems
           with ridiculous number (thousands) of CPUs (Peter Zijlstra)
      
         - sched/numa updates (Rik van Riel)
      
         - sched/deadline updates (Byungchul Park)
      
         - sched/cpufreq enhancements and related cleanups (Viresh Kumar)
      
         - sched/debug enhancements (Xie XiuQi)
      
         - various fixes"
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (27 commits)
        sched/debug: Optimize sched_domain sysctl generation
        sched/topology: Avoid pointless rebuild
        sched/topology, cpuset: Avoid spurious/wrong domain rebuilds
        sched/topology: Improve comments
        sched/topology: Fix memory leak in __sdt_alloc()
        sched/completion: Document that reinit_completion() must be called after complete_all()
        sched/autogroup: Fix error reporting printk text in autogroup_create()
        sched/fair: Fix wake_affine() for !NUMA_BALANCING
        sched/debug: Intruduce task_state_to_char() helper function
        sched/debug: Show task state in /proc/sched_debug
        sched/debug: Use task_pid_nr_ns in /proc/$pid/sched
        sched/core: Remove unnecessary initialization init_idle_bootup_task()
        sched/deadline: Change return value of cpudl_find()
        sched/deadline: Make find_later_rq() choose a closer CPU in topology
        sched/numa: Scale scan period with tasks in group and shared/private
        sched/numa: Slow down scan rate if shared faults dominate
        sched/pelt: Fix false running accounting
        sched: Mark pick_next_task_dl() and build_sched_domain() as static
        sched/cpupri: Don't re-initialize 'struct cpupri'
        sched/deadline: Don't re-initialize 'struct cpudl'
        ...
      f213a6c8
    • Linus Torvalds's avatar
      Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 621bee34
      Linus Torvalds authored
      Pull RAS fix from Ingo Molnar:
       "A single change fixing SMCA bank initialization on systems that don't
        have CPU0 enabled"
      
      * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mce/AMD: Allow any CPU to initialize the smca_banks array
      621bee34
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9657752c
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar:
       "Kernel side changes:
      
         - Add branch type profiling/tracing support. (Jin Yao)
      
         - Add the PERF_SAMPLE_PHYS_ADDR ABI to allow the tracing/profiling of
           physical memory addresses, where the PMU supports it. (Kan Liang)
      
         - Export some PMU capability details in the new
           /sys/bus/event_source/devices/cpu/caps/ sysfs directory. (Andi
           Kleen)
      
         - Aux data fixes and updates (Will Deacon)
      
         - kprobes fixes and updates (Masami Hiramatsu)
      
         - AMD uncore PMU driver fixes and updates (Janakarajan Natarajan)
      
        On the tooling side, here's a (limited!) list of highlights - there
        were many other changes that I could not list, see the shortlog and
        git history for details:
      
        UI improvements:
      
         - Implement a visual marker for fused x86 instructions in the
           annotate TUI browser, available now in 'perf report', more work
           needed to have it available as well in 'perf top' (Jin Yao)
      
           Further explanation from one of Jin's patches:
      
                   │   ┌──cmpl   $0x0,argp_program_version_hook
             81.93 │   ├──je     20
                   │   │  lock   cmpxchg %esi,0x38a9a4(%rip)
                   │   │↓ jne    29
                   │   │↓ jmp    43
             11.47 │20:└─→cmpxch %esi,0x38a999(%rip)
      
           That means the cmpl+je is a fused instruction pair and they should
           be considered together.
      
         - Record the branch type and then show statistics and info about in
           callchain entries (Jin Yao)
      
           Example from one of Jin's patches:
      
              # perf record -g -j any,save_type
              # perf report --branch-history --stdio --no-children
      
              38.50%  div.c:45                [.] main                    div
                      |
                      ---main div.c:42 (RET CROSS_2M cycles:2)
                         compute_flag div.c:28 (cycles:2)
                         compute_flag div.c:27 (RET CROSS_2M cycles:1)
                         rand rand.c:28 (cycles:1)
                         rand rand.c:28 (RET CROSS_2M cycles:1)
                         __random random.c:298 (cycles:1)
                         __random random.c:297 (COND_BWD CROSS_2M cycles:1)
                         __random random.c:295 (cycles:1)
                         __random random.c:295 (COND_BWD CROSS_2M cycles:1)
                         __random random.c:295 (cycles:1)
                         __random random.c:295 (RET CROSS_2M cycles:9)
      
        namespaces support:
      
         - Add initial support for namespaces, using setns to access files in
           namespaces, grabbing their build-ids, etc. (Krister Johansen)
      
        perf trace enhancements:
      
         - Beautify pkey_{alloc,free,mprotect} arguments in 'perf trace'
           (Arnaldo Carvalho de Melo)
      
         - Add initial 'clone' syscall args beautifier in 'perf trace'
           (Arnaldo Carvalho de Melo)
      
         - Ignore 'fd' and 'offset' args for MAP_ANONYMOUS in 'perf trace'
           (Arnaldo Carvalho de Melo)
      
         - Beautifiers for the 'cmd' arg of several ioctl types, including:
           sound, DRM, KVM, vhost virtio and perf_events. (Arnaldo Carvalho de
           Melo)
      
         - Add PERF_SAMPLE_CALLCHAIN and PERF_RECORD_MMAP[2] to 'perf data'
           CTF conversion, allowing CTF trace visualization tools to show
           callchains and to resolve symbols (Geneviève Bastien)
      
         - Beautify the fcntl syscall, which is an interesting one in the
           sense that infrastructure had to be put in place to change the
           formatters of some arguments according to the value in a previous
           one, i.e. cmd dictates how arg and the syscall return will be
           formatted. (Arnaldo Carvalho de Melo
      
        perf stat enhancements:
      
         - Use group read for event groups in 'perf stat', reducing overhead
           when groups are defined in the event specification, i.e. when using
           {} to enclose a list of events, asking them to be read at the same
           time, e.g.: "perf stat -e '{cycles,instructions}'" (Jiri Olsa)
      
        pipe mode improvements:
      
         - Process tracing data in 'perf annotate' pipe mode (David
           Carrillo-Cisneros)
      
         - Add header record types to pipe-mode, now this command:
      
              $ perf record -o - -e cycles sleep 1 | perf report --stdio --header
      
           Will show the same as in non-pipe mode, i.e. involving a perf.data
           file (David Carrillo-Cisneros)
      
        Vendor specific hardware event support updates/enhancements:
      
         - Update POWER9 vendor events tables (Sukadev Bhattiprolu)
      
         - Add POWER9 PMU events Sukadev (Bhattiprolu)
      
         - Support additional POWER8+ PVR in PMU mapfile (Shriya)
      
         - Add Skylake server uncore JSON vendor events (Andi Kleen)
      
         - Support exporting Intel PT data to sqlite3 with python perf
           scripts, this is in addition to the postgresql support that was
           already there (Adrian Hunter)"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (253 commits)
        perf symbols: Fix plt entry calculation for ARM and AARCH64
        perf probe: Fix kprobe blacklist checking condition
        perf/x86: Fix caps/ for !Intel
        perf/core, x86: Add PERF_SAMPLE_PHYS_ADDR
        perf/core, pt, bts: Get rid of itrace_started
        perf trace beauty: Beautify pkey_{alloc,free,mprotect} arguments
        tools headers: Sync cpu features kernel ABI headers with tooling headers
        perf tools: Pass full path of FEATURES_DUMP
        perf tools: Robustify detection of clang binary
        tools lib: Allow external definition of CC, AR and LD
        perf tools: Allow external definition of flex and bison binary names
        tools build tests: Don't hardcode gcc name
        perf report: Group stat values on global event id
        perf values: Zero value buffers
        perf values: Fix allocation check
        perf values: Fix thread index bug
        perf report: Add dump_read function
        perf record: Set read_format for inherit_stat
        perf c2c: Fix remote HITM detection for Skylake
        perf tools: Fix static build with newer toolchains
        ...
      9657752c