1. 05 Sep, 2015 2 commits
  2. 03 Sep, 2015 1 commit
    • Thomas Gleixner's avatar
      x86/alternatives: Make optimize_nops() interrupt safe and synced · 66c117d7
      Thomas Gleixner authored
      Richard reported the following crash:
      
      [    0.036000] BUG: unable to handle kernel paging request at 55501e06
      [    0.036000] IP: [<c0aae48b>] common_interrupt+0xb/0x38
      [    0.036000] Call Trace:
      [    0.036000]  [<c0409c80>] ? add_nops+0x90/0xa0
      [    0.036000]  [<c040a054>] apply_alternatives+0x274/0x630
      
      Chuck decoded:
      
       "  0:   8d 90 90 83 04 24       lea    0x24048390(%eax),%edx
          6:   80 fc 0f                cmp    $0xf,%ah
          9:   a8 0f                   test   $0xf,%al
       >> b:   a0 06 1e 50 55          mov    0x55501e06,%al
         10:   57                      push   %edi
         11:   56                      push   %esi
      
       Interrupt 0x30 occurred while the alternatives code was replacing the
       initial 0x90,0x90,0x90 NOPs (from the ASM_CLAC macro) with the
       optimized version, 0x8d,0x76,0x00. Only the first byte has been
       replaced so far, and it makes a mess out of the insn decoding."
      
      optimize_nops() is buggy in two aspects:
      
      - It's not disabling interrupts across the modification
      - It's lacking a sync_core() call
      
      Add both.
      
      Fixes: 4fd4b6e5 'x86/alternatives: Use optimized NOPs for padding'
      Reported-and-tested-by: default avatar"Richard W.M. Jones" <rjones@redhat.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Cc: Richard W.M. Jones <rjones@redhat.com>
      Cc: Chuck Ebbert <cebbert.lkml@gmail.com>
      Cc: Borislav Petkov <bp@alien8.de>
      Cc: stable@vger.kernel.org
      Link: http://lkml.kernel.org/r/alpine.DEB.2.11.1509031232340.15006@nanosSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      66c117d7
  3. 02 Sep, 2015 1 commit
  4. 01 Sep, 2015 33 commits
    • Linus Torvalds's avatar
      Merge branch 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e713c80a
      Linus Torvalds authored
      Pull x86 clockevent update from Thomas Gleixner:
       "A single commit, which converts HPET clockevents driver to the new
        callbacks"
      
      * 'x86-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/hpet: Migrate to new set_state interface
      e713c80a
    • Linus Torvalds's avatar
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 43af9872
      Linus Torvalds authored
      Pull x86 apic updates from Thomas Gleixner:
       "This udpate contains:
      
         - rework the irq vector array to store a pointer to the irq
           descriptor instead of the irq number to avoid a lookup of the irq
           descriptor in the irq entry path
      
         - lguest interrupt handling cleanups
      
         - conversion of the local apic timer to the new clockevent callbacks
      
         - preparatory changes for the irq argument removal of interrupt flow
           handlers"
      
      * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/irq: Do not dereference irq descriptor before checking it
        tools/lguest: Clean up include dir
        tools/lguest: Fix redefinition of struct virtio_pci_cfg_cap
        x86/irq: Store irq descriptor in vector array
        genirq: Provide irq_desc_has_action
        x86/irq: Get rid of an indentation level
        x86/irq: Rename VECTOR_UNDEFINED to VECTOR_UNUSED
        x86/irq: Replace numeric constant
        x86/irq: Protect smp_cleanup_move
        x86/lguest: Do not setup unused irq vectors
        x86/lguest: Clean up lguest_setup_irq
        x86/apic: Drop local_irq_save/restore in timer callbacks
        x86/apic: Migrate apic timer to new set_state interface
        x86/irq: Use access helper irq_data_get_affinity_mask()
        x86/irq: Use accessor irq_data_get_irq_handler_data()
        x86/irq: Use accessor irq_data_get_node()
      43af9872
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 17e6b00a
      Linus Torvalds authored
      Pull irq updates from Thomas Gleixner:
       "This updated pull request does not contain the last few GIC related
        patches which were reported to cause a regression.  There is a fix
        available, but I let it breed for a couple of days first.
      
        The irq departement provides:
      
         - new infrastructure to support non PCI based MSI interrupts
         - a couple of new irq chip drivers
         - the usual pile of fixlets and updates to irq chip drivers
         - preparatory changes for removal of the irq argument from interrupt
           flow handlers
         - preparatory changes to remove IRQF_VALID"
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (129 commits)
        irqchip/imx-gpcv2: IMX GPCv2 driver for wakeup sources
        irqchip: Add bcm2836 interrupt controller for Raspberry Pi 2
        irqchip: Add documentation for the bcm2836 interrupt controller
        irqchip/bcm2835: Add support for being used as a second level controller
        irqchip/bcm2835: Refactor handle_IRQ() calls out of MAKE_HWIRQ
        PCI: xilinx: Fix typo in function name
        irqchip/gic: Ensure gic_cpu_if_up/down() programs correct GIC instance
        irqchip/gic: Only allow the primary GIC to set the CPU map
        PCI/MSI: pci-xgene-msi: Consolidate chained IRQ handler install/remove
        unicore32/irq: Prepare puv3_gpio_handler for irq argument removal
        tile/pci_gx: Prepare trio_handle_level_irq for irq argument removal
        m68k/irq: Prepare irq handlers for irq argument removal
        C6X/megamode-pic: Prepare megamod_irq_cascade for irq argument removal
        blackfin: Prepare irq handlers for irq argument removal
        arc/irq: Prepare idu_cascade_isr for irq argument removal
        sparc/irq: Use access helper irq_data_get_affinity_mask()
        sparc/irq: Use helper irq_data_get_irq_handler_data()
        parisc/irq: Use access helper irq_data_get_affinity_mask()
        mn10300/irq: Use access helper irq_data_get_affinity_mask()
        irqchip/i8259: Prepare i8259_irq_dispatch for irq argument removal
        ...
      17e6b00a
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5e359bf2
      Linus Torvalds authored
      Pull timer updates from Thomas Gleixner:
       "Rather large, but nothing exiting:
      
         - new range check for settimeofday() to prevent that boot time
           becomes negative.
         - fix for file time rounding
         - a few simplifications of the hrtimer code
         - fix for the proc/timerlist code so the output of clock realtime
           timers is accurate
         - more y2038 work
         - tree wide conversion of clockevent drivers to the new callbacks"
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (88 commits)
        hrtimer: Handle failure of tick_init_highres() gracefully
        hrtimer: Unconfuse switch_hrtimer_base() a bit
        hrtimer: Simplify get_target_base() by returning current base
        hrtimer: Drop return code of hrtimer_switch_to_hres()
        time: Introduce timespec64_to_jiffies()/jiffies_to_timespec64()
        time: Introduce current_kernel_time64()
        time: Introduce struct itimerspec64
        time: Add the common weak version of update_persistent_clock()
        time: Always make sure wall_to_monotonic isn't positive
        time: Fix nanosecond file time rounding in timespec_trunc()
        timer_list: Add the base offset so remaining nsecs are accurate for non monotonic timers
        cris/time: Migrate to new 'set-state' interface
        kernel: broadcast-hrtimer: Migrate to new 'set-state' interface
        xtensa/time: Migrate to new 'set-state' interface
        unicore/time: Migrate to new 'set-state' interface
        um/time: Migrate to new 'set-state' interface
        sparc/time: Migrate to new 'set-state' interface
        sh/localtimer: Migrate to new 'set-state' interface
        score/time: Migrate to new 'set-state' interface
        s390/time: Migrate to new 'set-state' interface
        ...
      5e359bf2
    • Linus Torvalds's avatar
      Merge tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 8d01b66b
      Linus Torvalds authored
      Pull ARM SoC 64-bit changes from Olof Johansson:
       "Here's our branch of ARM64 contents for this merge window.
      
        Most of this is DT contents for new SoCs (or those who have seen new
        device support added).  Maybe we should stop separating out the arm64
        contents here to avoid the kind of internal conflicts as we got this
        time around, where 32- and 64-bit contents conflicted.
      
        Anyhow, on the actual contents:
      
        New SoCs:
      
         - Broadcom North Star 2 (ns2)
         - Marvell Berlin4CT
         - Mediatek MT6795
         - Rockchip RK3368
      
        In addition, there are enhancements for the following platforms:
      
         - Mediatek MT8173: cpuidle-dt updates, misc other additions
         - ZyncMP: A bunch of devices added to the existing DTSI
         - Qualcomm MSM8916 and APQ8016 updates for USB, etc.
      
        + a handful of other updates for various platforms"
      
      * tag 'armsoc-arm64' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (47 commits)
        ARM64: dts: vexpress: Use assigned-clock-parents for sp810
        ARM64: dts: mt6795: enable basic SMP bringup for MT6795
        arm64: Enable Marvell Berlin SoC family in defconfig
        arm64: Enable Marvell Berlin SoC family in Kconfig
        arm64: dts: Add dts files for Marvell Berlin4CT SoC
        ARM64: zynqmp: Move SPI nodes to the right location
        ARM64: zynqmp: Move uart and ttcs to the right location
        ARM64: zynqmp: Enable spi flashes on ep108
        ARM64: zynqmp: Add eeprom memories on i2c bus
        ARM64: zynqmp: Enable sdhci on ep108
        ARM64: zynqmp: Enable watchdog on ep108
        ARM64: zynqmp: Add DWC3 usb support
        ARM64: zynqmp: Add SMMU support
        ARM64: zynqmp: Add CANs node for platform
        ARM64: zynqmp: Use zynqmp specific compatible string for gpio
        devicetree: xilinx: zynqmp: add sata node
        PCI: iproc: Fix BCMA dependency in Kconfig
        arm64: dts: Add Broadcom North Star 2 support
        arm64: Add Broadcom iProc family support
        PCI: iproc: Fix ARM64 dependency in Kconfig
        ...
      8d01b66b
    • Linus Torvalds's avatar
      Merge tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 2faf962d
      Linus Torvalds authored
      Pull ARM SoC defconfig updates from Olof Johansson:
       "We mostly keep defconfigs updates on a separate branch due to their
        tendency to conflict between platforms and this encourages more
        careful separation of code changes and config changes.
      
        Most updates here are minor tweaks, enabling new drivers for various
        platforms, and so on.  Renesas also removed one defconfig
        (marzen_defconfig)"
      
      * tag 'armsoc-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (44 commits)
        ARM: add TC2 PM support to multi_v7_defconfig
        ARM: tegra: Update multi_v7_defconfig
        ARM: tegra: Update default configuration
        ARM: at91/defconfig: at91_dt: remove ARM_AT91_ETHER
        ARM: at91/defconfig: at91_dt: enable DRM hlcdc support
        ARM: at91: at91_dt_defconfig: enable ISI and ov2640 support
        ARM: multi_v7_defconfig: Enable Allwinner P2WI, PWM, DMA_SUN6I, cryptodev
        ARM: sunxi_defconfig: Enable DMA_SUN6I, P2WI, PWM, cryptodev, EXTCON, FHANDLE
        ARM: shmobile: Enable fixed voltage regulator in shmobile_defconfig
        ARM: multi_v7_defconfig: Select MX6UL and MX7D
        ARM: prima2_defconfig: enable build for hwspinlock
        ARM: prima2_defconfig: enable build for RTC
        ARM: prima2_defconfig: enable build for misc input
        ARM: prima2_defconfig: enable build for SiRFSoC SDHC host
        ARM: prima2_defconfig: fix the outdated defconfig
        ARM: imx_v6_v7_defconfig: Select CONFIG_IKCONFIG_PROC
        ARM: defconfig: orion5x: add DT support
        ARM: qcom_defconfig: Enable options for KS8851 ethernet
        ARM: multi_v7_defconfig: Enable support for PWM Regulators
        ARM: multi_v7_defconfig: Enable ST's PWM driver
        ...
      2faf962d
    • Linus Torvalds's avatar
      Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · b3a5af43
      Linus Torvalds authored
      Pull ARM DT updates from Olof Johansson:
       "Ladies and gentlemen, we proudly announce to you the latest branch of
        ARM device tree contents for the mainline kernel.  Come and see, come
        and see!
      
        No less than twentythree thousand lines of additions! Just imagine the
        joy you will have of using your mainline kernel on newly supported
        hardware such as Rockchip Chromebooks, Freescale i.MX6UL boards or
        UniPhier hardware!
      
        For those of you feeling less adventurous, added hardware support on
        platforms such as TI DM814x and Gumstix Overo platforms might be more
        of your liking.
      
        We've got something for everyone here!
      
        Ahem.  Cough.  So, anyway...
      
        This is the usual large batch of DT updates.  Lots and lots of smaller
        changes, some of the larger ones to point out are:
      
         - Rockchip veyron (Chromebook) support, as well as several other new boards
         - DRM support on Atmel AT91SAM9N12EK
         - USB additions on some Allwinner platforms
         - Mediatek MT6580 support
         - Freescale i.MX6UL support
         - cleanups for Renesas shmobile platforms
         - lots of added devices on LPC18xx
         - lots of added devices and boards on UniPhier
      
        There's also some dependent code added here, in particular some
        branches that are primarily merged through the clock tree"
      
      * tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (389 commits)
        ARM: tegra: Add gpio-ranges property
        ARM: tegra: Fix AHB base address on Tegra20, Tegra30 and Tegra114
        ARM: tegra: Add Tegra124 PMU support
        ARM: tegra: jetson-tk1: Add GK20A GPU DT node
        ARM: tegra: venice2: Add GK20A GPU DT node
        ARM: tegra: Add IOMMU node to GK20A
        ARM: tegra: Add CPU regulator to the Jetson TK1 device tree
        ARM: tegra: Add entries for cpufreq on Tegra124
        ARM: tegra: Enable the DFLL on the Jetson TK1
        ARM: tegra: Add the DFLL to Tegra124 device tree
        ARM: dts: zynq: Add devicetree entry for Xilinx Zynq reset controller.
        ARM: dts: UniPhier: fix PPI interrupt CPU mask of timer nodes
        ARM: dts: rockchip: correct regulator power states for suspend
        ARM: dts: rockchip: correct regulator PM properties
        ARM: dts: vexpress: Use assigned-clock-parents for sp810
        pinctrl: tegra: Only set the gpio range if needed
        arm: boot: dts: am4372: add ARM timers and SCU nodes
        ARM: dts: AM4372: Add the am4372-rtc compatible string
        ARM: shmobile: r8a7794 dtsi: Add CPG/MSTP Clock Domain
        ARM: shmobile: r8a7793 dtsi: Add CPG/MSTP Clock Domain
        ...
      b3a5af43
    • Linus Torvalds's avatar
      Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 10217810
      Linus Torvalds authored
      Pull ARM SoC driver updates from Olof Johansson:
       "Some releases this branch is nearly empty, others we have more stuff.
        It tends to gather drivers that need SoC modification or dependencies
        such that they have to (also) go in through our tree.
      
        For this release, we have merged in part of the reset controller tree
        (with handshake that the parts we have merged in will remain stable),
        as well as dependencies on a few clock branches.
      
        In general, new items here are:
      
         - Qualcomm driver for SMM/SMD, which is how they communicate with the
           coprocessors on (some) of their platforms
      
         - memory controller work for ARM's PL172 memory controller
      
         - reset drivers for various platforms
      
         - PMU power domain support for Marvell platforms
      
         - Tegra support for T132/T210 SoCs: PMC, fuse, memory controller
           per-SoC support"
      
      * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (49 commits)
        ARM: tegra: cpuidle: implement cpuidle_state.enter_freeze()
        ARM: tegra: Disable cpuidle if PSCI is available
        soc/tegra: pmc: Use existing pclk reference
        soc/tegra: pmc: Remove unnecessary return statement
        soc: tegra: Remove redundant $(CONFIG_ARCH_TEGRA) in Makefile
        memory: tegra: Add Tegra210 support
        memory: tegra: Add support for a variable-size client ID bitfield
        clk: shmobile: rz: Add CPG/MSTP Clock Domain support
        clk: shmobile: rcar-gen2: Add CPG/MSTP Clock Domain support
        clk: shmobile: r8a7779: Add CPG/MSTP Clock Domain support
        clk: shmobile: r8a7778: Add CPG/MSTP Clock Domain support
        clk: shmobile: Add CPG/MSTP Clock Domain support
        ARM: dove: create a proper PMU driver for power domains, PMU IRQs and resets
        reset: reset-zynq: Adding support for Xilinx Zynq reset controller.
        docs: dts: Added documentation for Xilinx Zynq Reset Controller bindings.
        MIPS: ath79: Add the reset controller to the AR9132 dtsi
        reset: Add a driver for the reset controller on the AR71XX/AR9XXX
        devicetree: Add bindings for the ATH79 reset controller
        reset: socfpga: Update reset-socfpga to read the altr,modrst-offset property
        doc: dt: add documentation for lpc1850-rgu reset driver
        ...
      10217810
    • Linus Torvalds's avatar
      Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 50686e8a
      Linus Torvalds authored
      Pull ARM SoC platform updates from Olof Johansson:
       "New or improved SoC support:
      
         - add support for Atmel's SAMA5D2 SoC
         - add support for Freescale i.MX6UL
         - improved support for TI's DM814x platform
         - misc fixes and improvements for RockChip platforms
         - Marvell MVEBU suspend/resume support
      
        A few driver changes that ideally would belong in the drivers branch
        are also here (acked by appropriate maintainers):
      
         - power key input driver for Freescale platforms (svns)
         - RTC driver updates for Freescale platforms (svns/mxc)
         - clk fixes for TI DM814/816X
      
        + a bunch of other changes for various platforms"
      
      * tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (83 commits)
        ARM: rockchip: pm: Fix PTR_ERR() argument
        ARM: imx: mach-imx6ul: Fix allmodconfig build
        clk: ti: fix for definition movement
        ARM: uniphier: drop v7_invalidate_l1 call at secondary entry
        memory: kill off set_irq_flags usage
        rtc: snvs: select option REGMAP_MMIO
        ARM: brcmstb: select ARCH_DMA_ADDR_T_64BIT for LPAE
        ARM: BCM: Enable ARM erratum 798181 for BRCMSTB
        ARM: OMAP2+: Fix power domain operations regression caused by 81xx
        ARM: rockchip: enable PMU_GPIOINT_WAKEUP_EN when entering shallow suspend
        ARM: rockchip: set correct stabilization thresholds in suspend
        ARM: rockchip: rename osc_switch_to_32k variable
        ARM: imx6ul: add fec MAC refrence clock and phy fixup init
        ARM: imx6ul: add fec bits to GPR syscon definition
        rtc: mxc: add support of device tree
        dt-binding: document the binding for mxc rtc
        rtc: mxc: use a second rtc clock
        ARM: davinci: cp_intc: use IRQCHIP_SKIP_SET_WAKE instead of irq_set_wake callback
        soc: mediatek: Fix SCPSYS compilation
        ARM: at91/soc: add basic support for new sama5d2 SoC
        ...
      50686e8a
    • Linus Torvalds's avatar
      Merge tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · c5fc2498
      Linus Torvalds authored
      Pull ARM SoC cleanups from Olof Johansson:
       "A large cleanup branch this release, with a healthy 10k negative line
        delta.
      
        Most of this is removal of legacy (non-DT) support of shmobile
        platforms.  There is also removal of two non-DT platforms on OMAP, and
        the plat-samsung directory is cleaned out by moving most of the
        previously shared-location-but-not-actually-shared files from there to
        the appropriate mach directories instead.
      
        There are other sets of changes in here as well:
      
         - Rob Herring removed use of set_irq_flags under all platforms and
           moved to genirq alternatives
      
         - a series of timer API conversions to set-state interface
      
         - ep93xx, nomadik and ux500 cleanups from Linus Walleij
      
         - __init annotation fixes from Nicolas Pitre
      
         + a bunch of other changes that all add up to a nice set of cleanups"
      
      * tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (108 commits)
        ARM/fb: ep93xx: switch framebuffer to use modedb only
        ARM: gemini: Setup timer3 as free running timer
        ARM: gemini: Use timer1 for clockevent
        ARM: gemini: Add missing register definitions for gemini timer
        ARM: ep93xx/timer: Migrate to new 'set-state' interface
        ARM: nomadik: push accelerometer down to boards
        ARM: nomadik: move l2x0 setup to device tree
        ARM: nomadik: selectively enable UART0 on boards
        ARM: nomadik: move hog code to use DT hogs
        ARM: shmobile: Fix mismerges
        ARM: ux500: simplify secondary CPU boot
        ARM: SAMSUNG: remove keypad-core header in plat-samsung
        ARM: SAMSUNG: local watchdog-reset header in mach-s3c64xx
        ARM: SAMSUNG: local onenand-core header in mach-s3c64xx
        ARM: SAMSUNG: local irq-uart header in mach-s3c64xx
        ARM: SAMSUNG: local backlight header in mach-s3c64xx
        ARM: SAMSUNG: local ata-core header in mach-s3c64xx
        ARM: SAMSUNG: local regs-usb-hsotg-phy header in mach-s3c64xx
        ARM: SAMSUNG: local spi-core header in mach-s3c24xx
        ARM: SAMSUNG: local nand-core header in mach-s3c24xx
        ...
      c5fc2498
    • Linus Torvalds's avatar
      Merge tag 'armsoc-fixes-nc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 00e3fcc2
      Linus Torvalds authored
      Pull ARM SoC non-urgent fixes from Olof Johansson:
       "We normally collect non-urgent fixes during the release cycle and
        queue them for the merge window.
      
        This time around the list is short (in part because some have gone in
        other branches).
      
         - Maintainers addition for bcm2835
         - IRQ number fix for orion5x (been present since 3.18)
         - DT fix for display on exynos3250
         - Exynos fix to use of IOMEM_ERR_PTR properly"
      
      * tag 'armsoc-fixes-nc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: orion5x: fix legacy orion5x IRQ numbers
        MAINTAINERS: Explicitly add linux-arm-kernel for bcm2835
        MAINTAINERS: Add myself as a bcm2835 co-maintainer.
        ARM: EXYNOS: Use IOMEM_ERR_PTR when function returns iomem
        ARM: dts: fix clock-frequency of display timing0 for exynos3250-rinato
      00e3fcc2
    • Linus Torvalds's avatar
      Merge tag 'arc-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · 28dce7c7
      Linus Torvalds authored
      Pull ARC architecture updates from Vineet Gupta:
       "ARC updates for 4.3:
      
         - perf support for ARCv2 based cores (sampling interrupt, SMP)
         - leftovers for ARCv2 support
         - futex fixes"
      
      * tag 'arc-4.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        ARCv2: entry: Fix reserved handler
        ARCv2: perf: Finally introduce HS perf unit
        ARCv2: perf: SMP support
        ARCv2: perf: implement exclusion of event counting in user or kernel mode
        ARCv2: perf: Support sampling events using overflow interrupts
        ARCv2: perf: implement "event_set_period"
        ARC: perf: cap the number of counters to hardware max of 32
        ARC: Eliminate some ARCv2 specific code for ARCompact build
        ARC: add/fix some comments in code - no functional change
        ARC: change some branchs to jumps to resolve linkage errors
        ARC: ensure futex ops are atomic in !LLSC config
        ARC: Enable HAVE_FUTEX_CMPXCHG
        ARC: make futex_atomic_cmpxchg_inatomic() return bimodal
        ARC: futex cosmetics
        ARC: add barriers to futex code
        ARCv2: IOC: Allow boot time disable
        ARCv2: SLC: Allow boot time disable
        ARCv2: Support IO Coherency and permutations involving L1 and L2 caches
        ARC: Enable optimistic spinning for LLSC config
        MAINTAINERS: add git tree for the arc architecture
      28dce7c7
    • Linus Torvalds's avatar
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 361f7d17
      Linus Torvalds authored
      Pull x86 core platform updates from Ingo Molnar:
       "The main changes are:
      
         - Intel Atom platform updates.  (Andy Shevchenko)
      
         - modularity fixlets.  (Paul Gortmaker)
      
         - x86 platform clockevents driver updates for lguest, uv and Xen.
           (Viresh Kumar)
      
         - Microsoft Hyper-V TSC fixlet.  (Vitaly Kuznetsov)"
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/platform: Make atom/pmc_atom.c explicitly non-modular
        x86/hyperv: Mark the Hyper-V TSC as unstable
        x86/xen/time: Migrate to new set-state interface
        x86/uv/time: Migrate to new set-state interface
        x86/lguest/timer: Migrate to new set-state interface
        x86/pci/intel_mid_pci: Use proper constants for irq polarity
        x86/pci/intel_mid_pci: Make intel_mid_pci_ops static
        x86/pci/intel_mid_pci: Propagate actual return code
        x86/pci/intel_mid_pci: Work around for IRQ0 assignment
        x86/platform/iosf_mbi: Add Intel Tangier PCI id
        x86/platform/iosf_mbi: Source cleanup
        x86/platform/iosf_mbi: Remove NULL pointer checks for pci_dev_put()
        x86/platform/iosf_mbi: Check return value of debugfs_create properly
        x86/platform/iosf_mbi: Move to dedicated folder
        x86/platform/intel/pmc_atom: Move the PMC-Atom code to arch/x86/platform/atom
        x86/platform/intel/pmc_atom: Add Cherrytrail PMC interface
        x86/platform/intel/pmc_atom: Supply register mappings via PMC object
        x86/platform/intel/pmc_atom: Print index of device in loop
        x86/platform/intel/pmc_atom: Export accessors to PMC registers
      361f7d17
    • Linus Torvalds's avatar
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 25525bea
      Linus Torvalds authored
      Pull x86 mm updates from Ingo Molnar:
       "The dominant change in this cycle was the continued work to isolate
        kernel drivers from MTRR legacies: this tree gets rid of all kernel
        internal driver interfaces to MTRRs (mostly by rewriting it to proper
        PAT interfaces), the only access left is the /proc/mtrr ABI.
      
        This work was done by Luis R Rodriguez.
      
        There's also some related PCI interface additions for which I've
        Cc:-ed Bjorn"
      
      * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)
        x86/mm/mtrr: Remove kernel internal MTRR interfaces: unexport mtrr_add() and mtrr_del()
        s390/io: Add pci_iomap_wc() and pci_iomap_wc_range()
        drivers/dma/iop-adma: Use dma_alloc_writecombine() kernel-style
        drivers/video/fbdev/vt8623fb: Use arch_phys_wc_add() and pci_iomap_wc()
        drivers/video/fbdev/s3fb: Use arch_phys_wc_add() and pci_iomap_wc()
        drivers/video/fbdev/arkfb.c: Use arch_phys_wc_add() and pci_iomap_wc()
        PCI: Add pci_iomap_wc() variants
        drivers/video/fbdev/gxt4500: Use pci_ioremap_wc_bar() to map framebuffer
        drivers/video/fbdev/kyrofb: Use arch_phys_wc_add() and pci_ioremap_wc_bar()
        drivers/video/fbdev/i740fb: Use arch_phys_wc_add() and pci_ioremap_wc_bar()
        PCI: Add pci_ioremap_wc_bar()
        x86/mm: Make kernel/check.c explicitly non-modular
        x86/mm/pat: Make mm/pageattr[-test].c explicitly non-modular
        x86/mm/pat: Add comments to cachemode translation tables
        arch/*/io.h: Add ioremap_uc() to all architectures
        drivers/video/fbdev/atyfb: Use arch_phys_wc_add() and ioremap_wc()
        drivers/video/fbdev/atyfb: Replace MTRR UC hole with strong UC
        drivers/video/fbdev/atyfb: Clarify ioremap() base and length used
        drivers/video/fbdev/atyfb: Carve out framebuffer length fudging into a helper
        x86/mm, asm-generic: Add IOMMU ioremap_uc() variant default
        ...
      25525bea
    • Linus Torvalds's avatar
      Merge branch 'x86-irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2962156d
      Linus Torvalds authored
      Pull x86 irq fixlet from Ingo Molnar:
       "A single change that hides the 'HYP:' line in /proc/interrupts when
        it's unused"
      
      * 'x86-irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/irq: Hide 'HYP:' line in /proc/interrupts when not on Xen/Hyper-V
      2962156d
    • Linus Torvalds's avatar
      Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6b2282aa
      Linus Torvalds authored
      Pull x86 cpu updates from Ingo Molnar:
       "Two changes: a suspend/resume quirk and a new CPUID bit definition"
      
      * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/cpufeature: Add feature bit for Intel's Silicon Debug CPUID bit
        x86/cpu: Restore MSR_IA32_ENERGY_PERF_BIAS after resume
      6b2282aa
    • Linus Torvalds's avatar
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0c0fee01
      Linus Torvalds authored
      Pull x86 init code fixlet from Ingo Molnar:
       "A single change: fix obsolete init code annotations"
      
      * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: Drop bogus __ref / __refdata annotations
      0c0fee01
    • Linus Torvalds's avatar
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a0c0d985
      Linus Torvalds authored
      Pull x86 build fixlet from Ingo Molnar:
       "A single change propagating CONFIG_JUMP_LABEL into the x86 defconfigs"
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/kconfig: Enable CONFIG_JUMP_LABEL in the defconfigs
      a0c0d985
    • Linus Torvalds's avatar
      Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 11e612dd
      Linus Torvalds authored
      Pull x86 boot updates from Ingo Molnar:
       "The main x86 bootup related changes in this cycle were:
      
         - more boot time optimizations.  (Len Brown)
      
         - implement hex output to allow the debugging of early bootup
           parameters.  (Kees Cook)
      
         - remove obsolete MCA leftovers.  (Paolo Pisati)"
      
      * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/smpboot: Remove APIC.wait_for_init_deassert and atomic init_deasserted
        x86/smpboot: Remove SIPI delays from cpu_up()
        x86/smpboot: Remove udelay(100) when polling cpu_callin_map
        x86/smpboot: Remove udelay(100) when polling cpu_initialized_map
        x86/boot: Obsolete the MCA sys_desc_table
        x86/boot: Add hex output for debugging
      11e612dd
    • Linus Torvalds's avatar
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5778077d
      Linus Torvalds authored
      Pull x86 asm changes from Ingo Molnar:
       "The biggest changes in this cycle were:
      
         - Revamp, simplify (and in some cases fix) Time Stamp Counter (TSC)
           primitives.  (Andy Lutomirski)
      
         - Add new, comprehensible entry and exit handlers written in C.
           (Andy Lutomirski)
      
         - vm86 mode cleanups and fixes.  (Brian Gerst)
      
         - 32-bit compat code cleanups.  (Brian Gerst)
      
        The amount of simplification in low level assembly code is already
        palpable:
      
           arch/x86/entry/entry_32.S                          | 130 +----
           arch/x86/entry/entry_64.S                          | 197 ++-----
      
        but more simplifications are planned.
      
        There's also the usual laudry mix of low level changes - see the
        changelog for details"
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (83 commits)
        x86/asm: Drop repeated macro of X86_EFLAGS_AC definition
        x86/asm/msr: Make wrmsrl() a function
        x86/asm/delay: Introduce an MWAITX-based delay with a configurable timer
        x86/asm: Add MONITORX/MWAITX instruction support
        x86/traps: Weaken context tracking entry assertions
        x86/asm/tsc: Add rdtscll() merge helper
        selftests/x86: Add syscall_nt selftest
        selftests/x86: Disable sigreturn_64
        x86/vdso: Emit a GNU hash
        x86/entry: Remove do_notify_resume(), syscall_trace_leave(), and their TIF masks
        x86/entry/32: Migrate to C exit path
        x86/entry/32: Remove 32-bit syscall audit optimizations
        x86/vm86: Rename vm86->v86flags and v86mask
        x86/vm86: Rename vm86->vm86_info to user_vm86
        x86/vm86: Clean up vm86.h includes
        x86/vm86: Move the vm86 IRQ definitions to vm86.h
        x86/vm86: Use the normal pt_regs area for vm86
        x86/vm86: Eliminate 'struct kernel_vm86_struct'
        x86/vm86: Move fields from 'struct kernel_vm86_struct' to 'struct vm86'
        x86/vm86: Move vm86 fields out of 'thread_struct'
        ...
      5778077d
    • Linus Torvalds's avatar
      Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 65a99597
      Linus Torvalds authored
      Pull NOHZ updates from Ingo Molnar:
       "The main changes, mostly written by Frederic Weisbecker, include:
      
         - Fix some jiffies based cputime assumptions.  (No real harm because
           the concerned code isn't used by full dynticks.)
      
         - Simplify jiffies <-> usecs conversions.  Remove dead code.
      
         - Remove early hacks on nohz full code that avoided messing up idle
           nohz internals.  Now nohz integrates well full and idle and such
           hack have become needless.
      
         - Restart nohz full tick from irq exit.  (A simplification and a
           preparation for future optimization on scheduler kick to nohz
           full)
      
         - Code cleanups.
      
         - Tile driver isolation enhancement on top of nohz.  (Chris Metcalf)"
      
      * 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        nohz: Remove useless argument on tick_nohz_task_switch()
        nohz: Move tick_nohz_restart_sched_tick() above its users
        nohz: Restart nohz full tick from irq exit
        nohz: Remove idle task special case
        nohz: Prevent tilegx network driver interrupts
        alpha: Fix jiffies based cputime assumption
        apm32: Fix cputime == jiffies assumption
        jiffies: Remove HZ > USEC_PER_SEC special case
      65a99597
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 418c2e1f
      Linus Torvalds authored
      Pull scheduler fix from Ingo Molnar:
       "This is a leftover scheduler fix from the v4.2 cycle"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched: Fix cpu_active_mask/cpu_online_mask race
      418c2e1f
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a1d85611
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
       "The biggest change in this cycle is the rewrite of the main SMP load
        balancing metric: the CPU load/utilization.  The main goal was to make
        the metric more precise and more representative - see the changelog of
        this commit for the gory details:
      
          9d89c257 ("sched/fair: Rewrite runnable load and utilization average tracking")
      
        It is done in a way that significantly reduces complexity of the code:
      
          5 files changed, 249 insertions(+), 494 deletions(-)
      
        and the performance testing results are encouraging.  Nevertheless we
        need to keep an eye on potential regressions, since this potentially
        affects every SMP workload in existence.
      
        This work comes from Yuyang Du.
      
        Other changes:
      
         - SCHED_DL updates.  (Andrea Parri)
      
         - Simplify architecture callbacks by removing finish_arch_switch().
           (Peter Zijlstra et al)
      
         - cputime accounting: guarantee stime + utime == rtime.  (Peter
           Zijlstra)
      
         - optimize idle CPU wakeups some more - inspired by Facebook server
           loads.  (Mike Galbraith)
      
         - stop_machine fixes and updates.  (Oleg Nesterov)
      
         - Introduce the 'trace_sched_waking' tracepoint.  (Peter Zijlstra)
      
         - sched/numa tweaks.  (Srikar Dronamraju)
      
         - misc fixes and small cleanups"
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (44 commits)
        sched/deadline: Fix comment in enqueue_task_dl()
        sched/deadline: Fix comment in push_dl_tasks()
        sched: Change the sched_class::set_cpus_allowed() calling context
        sched: Make sched_class::set_cpus_allowed() unconditional
        sched: Fix a race between __kthread_bind() and sched_setaffinity()
        sched: Ensure a task has a non-normalized vruntime when returning back to CFS
        sched/numa: Fix NUMA_DIRECT topology identification
        tile: Reorganize _switch_to()
        sched, sparc32: Update scheduler comments in copy_thread()
        sched: Remove finish_arch_switch()
        sched, tile: Remove finish_arch_switch
        sched, sh: Fold finish_arch_switch() into switch_to()
        sched, score: Remove finish_arch_switch()
        sched, avr32: Remove finish_arch_switch()
        sched, MIPS: Get rid of finish_arch_switch()
        sched, arm: Remove finish_arch_switch()
        sched/fair: Clean up load average references
        sched/fair: Provide runnable_load_avg back to cfs_rq
        sched/fair: Remove task and group entity load when they are dead
        sched/fair: Init cfs_rq's sched_entity load average
        ...
      a1d85611
    • Linus Torvalds's avatar
      Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3959df1d
      Linus Torvalds authored
      Pull RAS updates from Ingo Molnar:
       "MCE handling updates, but also some generic drivers/edac/ changes to
        better organize the Kconfig space"
      
      * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/ras: Move AMD MCE injector to arch/x86/ras/
        x86/mce: Add a wrapper around mce_log() for injection
        x86/mce: Rename rcu_dereference_check_mce() to mce_log_get_idx_check()
        RAS: Add a menuconfig option with descriptive text
        x86/mce: Reenable CMCI banks when swiching back to interrupt mode
        x86/mce: Clear Local MCE opt-in before kexec
        x86/mce: Remove unused function declarations
        x86/mce: Kill drain_mcelog_buffer()
        x86/mce: Avoid potential deadlock due to printk() in MCE context
        x86/mce: Remove the MCE ring for Action Optional errors
        x86/mce: Don't use percpu workqueues
        x86/mce: Provide a lockless memory pool to save error records
        x86/mce: Reuse one of the u16 padding fields in 'struct mce'
      3959df1d
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 41d859a8
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar:
       "Main perf kernel side changes:
      
         - uprobes updates/fixes.  (Oleg Nesterov)
      
         - Add PERF_RECORD_SWITCH to indicate context switches and use it in
           tooling.  (Adrian Hunter)
      
         - Support BPF programs attached to uprobes and first steps for BPF
           tooling support.  (Wang Nan)
      
         - x86 generic x86 MSR-to-perf PMU driver.  (Andy Lutomirski)
      
         - x86 Intel PT, LBR and BTS updates.  (Alexander Shishkin)
      
         - x86 Intel Skylake support.  (Andi Kleen)
      
         - x86 Intel Knights Landing (KNL) RAPL support.  (Dasaratharaman
           Chandramouli)
      
         - x86 Intel Broadwell-DE uncore support.  (Kan Liang)
      
         - x86 hw breakpoints robustization (Andy Lutomirski)
      
        Main perf tooling side changes:
      
         - Support Intel PT in several tools, enabling the use of the
           processor trace feature introduced in Intel Broadwell processors:
           (Adrian Hunter)
      
             # dmesg | grep Performance
             # [0.188477] Performance Events: PEBS fmt2+, 16-deep LBR, Broadwell events, full-width counters, Intel PMU driver.
             # perf record -e intel_pt//u -a sleep 1
             [ perf record: Woken up 1 times to write data ]
             [ perf record: Captured and wrote 0.216 MB perf.data ]
             # perf script # then navigate in the tool output to some area, like this one:
             184 1030 dl_main (/usr/lib64/ld-2.17.so) => 7f21ba661440 dl_main (/usr/lib64/ld-2.17.so)
             185 1457 dl_main (/usr/lib64/ld-2.17.so) => 7f21ba669f10 _dl_new_object (/usr/lib64/ld-2.17.so)
             186 9f37 _dl_new_object (/usr/lib64/ld-2.17.so) => 7f21ba677b90 strlen (/usr/lib64/ld-2.17.so)
             187 7ba3 strlen (/usr/lib64/ld-2.17.so) => 7f21ba677c75 strlen (/usr/lib64/ld-2.17.so)
             188 7c78 strlen (/usr/lib64/ld-2.17.so) => 7f21ba669f3c _dl_new_object (/usr/lib64/ld-2.17.so)
             189 9f8a _dl_new_object (/usr/lib64/ld-2.17.so) => 7f21ba65fab0 calloc@plt (/usr/lib64/ld-2.17.so)
             190 fab0 calloc@plt (/usr/lib64/ld-2.17.so) => 7f21ba675e70 calloc (/usr/lib64/ld-2.17.so)
             191 5e87 calloc (/usr/lib64/ld-2.17.so) => 7f21ba65fa90 malloc@plt (/usr/lib64/ld-2.17.so)
             192 fa90 malloc@plt (/usr/lib64/ld-2.17.so) => 7f21ba675e60 malloc (/usr/lib64/ld-2.17.so)
             193 5e68 malloc (/usr/lib64/ld-2.17.so) => 7f21ba65fa80 __libc_memalign@plt (/usr/lib64/ld-2.17.so)
             194 fa80 __libc_memalign@plt (/usr/lib64/ld-2.17.so) => 7f21ba675d50 __libc_memalign (/usr/lib64/ld-2.17.so)
             195 5d63 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675e20 __libc_memalign (/usr/lib64/ld-2.17.so)
             196 5e40 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675d73 __libc_memalign (/usr/lib64/ld-2.17.so)
             197 5d97 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675e18 __libc_memalign (/usr/lib64/ld-2.17.so)
             198 5e1e __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba675df9 __libc_memalign (/usr/lib64/ld-2.17.so)
             199 5e10 __libc_memalign (/usr/lib64/ld-2.17.so) => 7f21ba669f8f _dl_new_object (/usr/lib64/ld-2.17.so)
             200 9fc2 _dl_new_object (/usr/lib64/ld-2.17.so) =>  7f21ba678e70 memcpy (/usr/lib64/ld-2.17.so)
             201 8e8c memcpy (/usr/lib64/ld-2.17.so) => 7f21ba678ea0 memcpy (/usr/lib64/ld-2.17.so)
      
         - Add support for using several Intel PT features (CYC, MTC packets),
           the relevant documentation was updated in:
               tools/perf/Documentation/intel-pt.txt
           briefly describing those packets, its purposes, how to configure
           them in the event config terms and relevant external documentation
           for further reading.  (Adrian Hunter)
      
         - Introduce support for probing at an absolute address, for user and
           kernel 'perf probe's, useful when one have the symbol maps on a
           developer machine but not on an embedded system.  (Wang Nan)
      
         - Add Intel BTS support, with a call-graph script to show it and PT
           in use in a GUI using 'perf script' python scripting with
           postgresql and Qt.  (Adrian Hunter)
      
         - Allow selecting the type of callchains per event, including
           disabling callchains in all but one entry in an event list, to save
           space, and also to ask for the callchains collected in one event to
           be used in other events.  (Kan Liang)
      
         - Beautify more syscall arguments in 'perf trace': (Arnaldo Carvalho
           de Melo)
             * A bunch more translate file/pathnames from pointers to strings.
             * Convert numbers to strings for the 'keyctl' syscall 'option'
               arg.
             * Add missing 'clockid' entries.
      
         - Introduce 'srcfile' sort key: (Andi Kleen)
      
             # perf record -F 10000 usleep 1
             # perf report --stdio --dsos '[kernel.vmlinux]' -s srcfile
             <SNIP>
             # Overhead  Source File
                26.49%  copy_page_64.S
                 5.49%  signal.c
                 0.51%  msr.h
             #
      
           It can be combined with other fields, for instance, experiment with
           '-s srcfile,symbol'.
      
           There are some oddities in some distros and with some specific
           DSOs, being investigated, so your mileage may vary.
      
         - Support per-event 'freq' term: (Namhyung Kim)
      
             $ perf record -e 'cpu/instructions,freq=1234/',cycles -c 1000 sleep 1
             $ perf evlist -F
             cpu/instructions,freq=1234/: sample_freq=1234
             cycles: sample_period=1000
             $
      
         - Deref sys_enter pointer args with contents from probe:vfs_getname,
           showing pathnames instead of pointers in many syscalls in 'perf
           trace'.  (Arnaldo Carvalho de Melo)
      
         - Stop collecting /proc/kallsyms in perf.data files, saving about
           4.5MB on a typical x86-64 system, use the the symbol resolution
           routines used in all the other tools (report, top, etc) now that we
           can ask libtraceevent to use perf's symbol resolution code.
           (Arnaldo Carvalho de Melo)
      
         - Allow filtering out of perf's PID via 'perf record --exclude-perf'.
           (Wang Nan)
      
         - 'perf trace' now supports syscall groups, like strace, i.e:
      
             $ trace -e file touch file
      
           Will expand 'file' into multiple, file related, syscalls.  More
           work needed to add extra groups for other syscall groups, and also
           to complement what was added for the 'file' group, included as a
           proof of concept.  (Arnaldo Carvalho de Melo)
      
         - Add lock_pi stresser to 'perf bench futex', to test the kernel code
           related to FUTEX_(UN)LOCK_PI.  (Davidlohr Bueso)
      
         - Let user have timestamps with per-thread recording in 'perf record'
           (Adrian Hunter)
      
         - ... and tons of other changes, see the shortlog and the Git log for
           details"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (240 commits)
        perf evlist: Add backpointer for perf_env to evlist
        perf tools: Rename perf_session_env to perf_env
        perf tools: Do not change lib/api/fs/debugfs directly
        perf tools: Add tracing_path and remove unneeded functions
        perf buildid: Introduce sysfs/filename__sprintf_build_id
        perf evsel: Add a backpointer to the evlist a evsel is in
        perf trace: Add header with copyright and background info
        perf scripts python: Add new compaction-times script
        perf stat: Get correct cpu id for print_aggr
        tools lib traceeveent: Allow for negative numbers in print format
        perf script: Add --[no-]-demangle/--[no-]-demangle-kernel
        tracing/uprobes: Do not print '0x (null)' when offset is 0
        perf probe: Support probing at absolute address
        perf probe: Fix error reported when offset without function
        perf probe: Fix list result when address is zero
        perf probe: Fix list result when symbol can't be found
        tools build: Allow duplicate objects in the object list
        perf tools: Remove export.h from MANIFEST
        perf probe: Prevent segfault when reading probe point with absolute address
        perf tools: Update Intel PT documentation
        ...
      41d859a8
    • Linus Torvalds's avatar
      Merge branch 'mm-kasan-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 46580009
      Linus Torvalds authored
      Pull x86/kasan changes from Ingo Molnar:
       "These are two KASAN changes that factor out (and generalize) x86
        specific KASAN code from x86 to mm"
      
      * 'mm-kasan-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/kasan, mm: Introduce generic kasan_populate_zero_shadow()
        x86/kasan: Define KASAN_SHADOW_OFFSET per architecture
      46580009
    • Linus Torvalds's avatar
      Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e10994ff
      Linus Torvalds authored
      Pull liblockdep fixes from Ingo Molnar:
       "Three liblockdep fixes left over from the v4.2 cycle"
      
      * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        tools/liblockdep: Use the rbtree header provided by common tools headers
        tools/liblockdep: Correct macro for WARN
        tools: Restore export.h
      e10994ff
    • Linus Torvalds's avatar
      Merge branch 'core-types-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5757bd61
      Linus Torvalds authored
      Pull inlining tuning from Ingo Molnar:
       "A handful of inlining optimizations inspired by x86 work but
        applicable in general"
      
      * 'core-types-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        jiffies: Force inlining of {m,u}msecs_to_jiffies()
        x86/hweight: Force inlining of __arch_hweight{32,64}()
        linux/bitmap: Force inlining of bitmap weight functions
      5757bd61
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7073bc66
      Linus Torvalds authored
      Pull RCU updates from Ingo Molnar:
       "The main RCU changes in this cycle are:
      
         - the combination of tree geometry-initialization simplifications and
           OS-jitter-reduction changes to expedited grace periods.  These two
           are stacked due to the large number of conflicts that would
           otherwise result.
      
         - privatize smp_mb__after_unlock_lock().
      
           This commit moves the definition of smp_mb__after_unlock_lock() to
           kernel/rcu/tree.h, in recognition of the fact that RCU is the only
           thing using this, that nothing else is likely to use it, and that
           it is likely to go away completely.
      
         - documentation updates.
      
         - torture-test updates.
      
         - misc fixes"
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (60 commits)
        rcu,locking: Privatize smp_mb__after_unlock_lock()
        rcu: Silence lockdep false positive for expedited grace periods
        rcu: Don't disable CPU hotplug during OOM notifiers
        scripts: Make checkpatch.pl warn on expedited RCU grace periods
        rcu: Update MAINTAINERS entry
        rcu: Clarify CONFIG_RCU_EQS_DEBUG help text
        rcu: Fix backwards RCU_LOCKDEP_WARN() in synchronize_rcu_tasks()
        rcu: Rename rcu_lockdep_assert() to RCU_LOCKDEP_WARN()
        rcu: Make rcu_is_watching() really notrace
        cpu: Wait for RCU grace periods concurrently
        rcu: Create a synchronize_rcu_mult()
        rcu: Fix obsolete priority-boosting comment
        rcu: Use WRITE_ONCE in RCU_INIT_POINTER
        rcu: Hide RCU_NOCB_CPU behind RCU_EXPERT
        rcu: Add RCU-sched flavors of get-state and cond-sync
        rcu: Add fastpath bypassing funnel locking
        rcu: Rename RCU_GP_DONE_FQS to RCU_GP_DOING_FQS
        rcu: Pull out wait_event*() condition into helper function
        documentation: Describe new expedited stall warnings
        rcu: Add stall warnings to synchronize_sched_expedited()
        ...
      7073bc66
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · d4c90396
      Linus Torvalds authored
      Pull crypto updates from Herbert Xu:
       "Here is the crypto update for 4.3:
      
        API:
      
         - the AEAD interface transition is now complete.
         - add top-level skcipher interface.
      
        Drivers:
      
         - x86-64 acceleration for chacha20/poly1305.
         - add sunxi-ss Allwinner Security System crypto accelerator.
         - add RSA algorithm to qat driver.
         - add SRIOV support to qat driver.
         - add LS1021A support to caam.
         - add i.MX6 support to caam"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (163 commits)
        crypto: algif_aead - fix for multiple operations on AF_ALG sockets
        crypto: qat - enable legacy VFs
        MPI: Fix mpi_read_buffer
        crypto: qat - silence a static checker warning
        crypto: vmx - Fixing opcode issue
        crypto: caam - Use the preferred style for memory allocations
        crypto: caam - Propagate the real error code in caam_probe
        crypto: caam - Fix the error handling in caam_probe
        crypto: caam - fix writing to JQCR_MS when using service interface
        crypto: hash - Add AHASH_REQUEST_ON_STACK
        crypto: testmgr - Use new skcipher interface
        crypto: skcipher - Add top-level skcipher interface
        crypto: cmac - allow usage in FIPS mode
        crypto: sahara - Use dmam_alloc_coherent
        crypto: caam - Add support for LS1021A
        crypto: qat - Don't move data inside output buffer
        crypto: vmx - Fixing GHASH Key issue on little endian
        crypto: vmx - Fixing AES-CTR counter bug
        crypto: null - Add missing Kconfig tristate for NULL2
        crypto: nx - Add forward declaration for struct crypto_aead
        ...
      d4c90396
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · f36fc04e
      Linus Torvalds authored
      Pull clk updates from Michael Turquette:
       "The clk framework changes for 4.3 are mostly updates to existing
        drivers and the addition of new clock drivers.  Stephen Boyd has also
        done a lot of subsystem-wide driver clean-ups (thanks!).  There are
        also fixes to the framework core and changes to better split clock
        provider drivers from clock consumer drivers"
      
      * tag 'clk-for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (227 commits)
        clk: s5pv210: add missing call to samsung_clk_of_add_provider()
        clk: pistachio: correct critical clock list
        clk: pistachio: Fix PLL rate calculation in integer mode
        clk: pistachio: Fix override of clk-pll settings from boot loader
        clk: pistachio: Fix 32bit integer overflows
        clk: tegra: Fix some static checker problems
        clk: qcom: Fix MSM8916 prng clock enable bit
        clk: Add missing header for 'bool' definition to clk-conf.h
        drivers/clk: appropriate __init annotation for const data
        clk: rockchip: register pll mux before pll itself
        clk: add bindings for the Ux500 clocks
        clk/ARM: move Ux500 PRCC bases to the device tree
        clk: remove duplicated code with __clk_set_parent_after
        clk: Convert __clk_get_name(hw->clk) to clk_hw_get_name(hw)
        clk: Constify clk_hw argument to provider APIs
        clk: Hi6220: add stub clock driver
        dt-bindings: clk: Hi6220: Document stub clock driver
        dt-bindings: arm: Hi6220: add doc for SRAM controller
        clk: atlas7: fix pll missed divide NR in fraction mode
        clk: atlas7: fix bit field and its root clk for coresight_tpiu
        ...
      f36fc04e
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · 26f8b7ed
      Linus Torvalds authored
      Pull PCI updates from Bjorn Helgaas:
       "PCI changes for the v4.3 merge window:
      
        Enumeration:
         - Allocate ATS struct during enumeration (Bjorn Helgaas)
         - Embed ATS info directly into struct pci_dev (Bjorn Helgaas)
         - Reduce size of ATS structure elements (Bjorn Helgaas)
         - Stop caching ATS Invalidate Queue Depth (Bjorn Helgaas)
         - iommu/vt-d: Cache PCI ATS state and Invalidate Queue Depth (Bjorn Helgaas)
         - Move MPS configuration check to pci_configure_device() (Bjorn Helgaas)
         - Set MPS to match upstream bridge (Keith Busch)
         - ARM/PCI: Set MPS before pci_bus_add_devices() (Murali Karicheri)
         - Add pci_scan_root_bus_msi() (Lorenzo Pieralisi)
         - ARM/PCI, designware, xilinx: Use pci_scan_root_bus_msi() (Lorenzo Pieralisi)
      
        Resource management:
         - Call pci_read_bridge_bases() from core instead of arch code (Lorenzo Pieralisi)
      
        PCI device hotplug:
         - pciehp: Remove unused interrupt events (Bjorn Helgaas)
         - pciehp: Remove ignored MRL sensor interrupt events (Bjorn Helgaas)
         - pciehp: Handle invalid data when reading from non-existent devices (Jarod Wilson)
         - pciehp: Simplify pcie_poll_cmd() (Yijing Wang)
         - Use "slot" and "pci_slot" for struct hotplug_slot and struct pci_slot (Yijing Wang)
         - Protect pci_bus->slots with pci_slot_mutex, not pci_bus_sem (Yijing Wang)
         - Hold pci_slot_mutex while searching bus->slots list (Yijing Wang)
      
        Power management:
         - Disable async suspend/resume for JMicron multi-function SATA/AHCI (Zhang Rui)
      
        Virtualization:
         - Add ACS quirks for Intel I219-LM/V (Alex Williamson)
         - Restore ACS configuration as part of pci_restore_state() (Alexander Duyck)
      
        MSI:
         - Add pcibios_alloc_irq() and pcibios_free_irq() (Jiang Liu)
         - x86: Implement pcibios_alloc_irq() and pcibios_free_irq() (Jiang Liu)
         - Add helpers to manage pci_dev->irq and pci_dev->irq_managed (Jiang Liu)
         - Free legacy IRQ when enabling MSI/MSI-X (Jiang Liu)
         - ARM/PCI: Remove msi_controller from struct pci_sys_data (Lorenzo Pieralisi)
         - Remove unused pcibios_msi_controller() hook (Lorenzo Pieralisi)
      
        Generic host bridge driver:
         - Remove dependency on ARM-specific struct hw_pci (Jayachandran C)
         - Build setup-irq.o for arm64 (Jayachandran C)
         - Add arm64 support (Jayachandran C)
      
        APM X-Gene host bridge driver:
         - Add APM X-Gene PCIe 64-bit prefetchable window (Duc Dang)
         - Add support for a 64-bit prefetchable memory window (Duc Dang)
         - Drop owner assignment from platform_driver (Krzysztof Kozlowski)
      
        Broadcom iProc host bridge driver:
         - Allow BCMA bus driver to be built as module (Hauke Mehrtens)
         - Delete unnecessary checks before phy calls (Markus Elfring)
         - Add arm64 support (Ray Jui)
      
        Synopsys DesignWare host bridge driver:
         - Don't complain missing *config* reg space if va_cfg0 is set (Murali Karicheri)
      
        TI DRA7xx host bridge driver:
         - Disable pm_runtime on get_sync failure (Kishon Vijay Abraham I)
         - Add PM support (Kishon Vijay Abraham I)
         - Clear MSE bit during suspend so clocks will idle (Kishon Vijay Abraham I)
         - Add support to make GPIO drive PERST# line (Kishon Vijay Abraham I)
      
        Xilinx AXI host bridge driver:
         - Check for MSI interrupt flag before handling as INTx (Russell Joyce)
      
        Miscellaneous:
         - Fix Intersil/Techwell TW686[4589] AV capture class code (Krzysztof Hałasa)
         - Use PCI_CLASS_SERIAL_USB instead of bare number (Bjorn Helgaas)
         - Fix generic NCR 53c810 class code quirk (Bjorn Helgaas)
         - Fix TI816X class code quirk (Bjorn Helgaas)
         - Remove unused "pci_probe" flags (Bjorn Helgaas)
         - Host bridge driver code simplifications (Fabio Estevam)
         - Add dev_flags bit to access VPD through function 0 (Mark Rustad)
         - Add VPD function 0 quirk for Intel Ethernet devices (Mark Rustad)
         - Kill off set_irq_flags() usage (Rob Herring)
         - Remove Intel Cherrytrail D3 delays (Srinidhi Kasagar)
         - Clean up pci_find_capability() (Wei Yang)"
      
      * tag 'pci-v4.3-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (72 commits)
        PCI: Disable async suspend/resume for JMicron multi-function SATA/AHCI
        PCI: Set MPS to match upstream bridge
        PCI: Move MPS configuration check to pci_configure_device()
        PCI: Drop references acquired by of_parse_phandle()
        PCI/MSI: Remove unused pcibios_msi_controller() hook
        ARM/PCI: Remove msi_controller from struct pci_sys_data
        ARM/PCI, designware, xilinx: Use pci_scan_root_bus_msi()
        PCI: Add pci_scan_root_bus_msi()
        ARM/PCI: Replace panic with WARN messages on failures
        PCI: generic: Add arm64 support
        PCI: Build setup-irq.o for arm64
        PCI: generic: Remove dependency on ARM-specific struct hw_pci
        PCI: imx6: Simplify a trivial if-return sequence
        PCI: spear: Use BUG_ON() instead of condition followed by BUG()
        PCI: dra7xx: Remove unneeded use of IS_ERR_VALUE()
        PCI: Remove pci_ats_enabled()
        PCI: Stop caching ATS Invalidate Queue Depth
        PCI: Move ATS declarations to linux/pci.h so they're all together
        PCI: Clean up ATS error handling
        PCI: Use pci_physfn() rather than looking up physfn by hand
        ...
      26f8b7ed
    • Linus Torvalds's avatar
      Merge tag 'leds_for_4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds · edc837da
      Linus Torvalds authored
      Pull LED updates from Jacek Anaszewski:
       "In this merge window we'd like to announce a change on the list of LED
        subsystem maintainers - Bryan Wu decided to step back and handed over
        the maintainership to me (Jacek Anaszewski), which entailed an update
        of LED subsystem git tree URL.
      
        Besides the changes in MAINTAINERS we have:
      
         - optimizations and improvements to existing LED class drivers
      
         - improvements to the common LEDs DT documentation
      
         - modifications of kirkwood-* dts files, to be in sync with patches
           for leds-ns2 driver, that move LEDs mode mapping outside of the
           driver"
      
      * tag 'leds_for_4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds:
        leds: Export OF module alias information in missing drivers
        leds:lp55xx: use the private data instead of updating I2C device platform data
        leds: syscon: Correct check for syscon_node_to_regmap() errors
        leds: leds-fsg: Use devm_led_classdev_register
        MAINTAINERS: Change LED subsystem git tree URL
        leds/led-class: Add missing put_device()
        ARM: Kirkwood: add modes-map property to ns2-leds nodes
        leds: tlc591xx: Remove redundant I2C_FUNC_SMBUS_BYTE_DATA functionality check
        leds: leds-ns2: depends on MACH_ARMADA_370
        leds: leds-ns2: handle can_sleep GPIOs
        leds: leds-ns2: move LED modes mapping outside of the driver
        leds: lp8860: Constify reg_default tables
        leds: Drop owner assignment from i2c_driver
        leds: Allow compile test of LEDS_AAT1290 and LEDS_KTD2692 if !GPIOLIB
        leds: Allow compile test of GPIO consumers if !GPIOLIB
        DT: leds: Improve description of flash LEDs related properties
      edc837da
  5. 31 Aug, 2015 3 commits
    • Linus Torvalds's avatar
      Merge tag 'spi-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · e5aeced6
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "A few core tweaks this time together with the usual collection of
        driver specific updates and fixes plus a larger than average selection
        of new device support:
      
         - fix DMA mapping of unaligned vmalloc() buffers
      
         - statistics tracking transfer volumes exposed via sysfs
      
         - new drivers for Freescale MPC5125, Intel Sunrise Point, Mediatek
           SoCs, and Netlogic XLP SoCs"
      
      * tag 'spi-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (66 commits)
        spi: sh-msiof: Fix FIFO size to 64 word from 256 word
        spi: fsl-(e)spi: Fix checking return value of devm_ioremap_resource
        spi: Add DT bindings documentation for Netlogic XLP SPI controller
        spi/xlp: SPI controller driver for Netlogic XLP SoCs
        spi: fsl-espi: add runtime PM
        spi: fsl-(e)spi: simplify cleanup code
        spi: fsl-(e)spi: migrate to using devm_ functions to simplify cleanup
        spi: mediatek: fix SPI_CMD_PAUSE_IE macro error
        spi: check bits_per_word in spi_setup
        spi: mediatek: replace *_time name
        spi: mediatek: add PM clk_prepare_enable fail flow
        spi: mediatek: replace int with u32, delete TAB and define MTK_SPI_PAUSE_INT_STATUS marco
        spi: mediatek: add linux/io.h include file
        spi/bcm63xx-hsspi: add support for dual spi read/write
        spi: dw: Allow interface drivers to limit data I/O to word sizes
        dt: snps,dw-apb-ssi: Document new I/O data register width property
        spi: Fall back to master maximum speed if no slave speed specified
        spi: mediatek: use BIT() to instead of SPI_CMD_*_OFFSET
        spi: medaitek: revise quirks compatibility style
        spi: mediatek: fix spi incorrect endian usage
        ...
      e5aeced6
    • Linus Torvalds's avatar
      Merge tag 'regulator-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · cf9d615f
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "The biggest changes in the core this time around have been some
        refactorings that move us towards being able to drop the list of
        regulators maintained by the core and instead just use the driver
        model list maintained for the class devices for regulators which will
        make the code smaller and avoid some potential bugs.
      
        Otherwise another fairly quiet release for the regulator API,
        highlights include:
      
         - a new API for setting voltages based on a minimum, target, maximum
           triplet
      
         - support for continuous voltage ranges rather than tables of
           explicit steps in the PWM regulator, requiring less explicit
           configuration
      
         - new driver support for Dialog DA9215, Maxim 77843, Mediatek MT6311
           and Qualcomm RPM"
      
      * tag 'regulator-v4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (70 commits)
        regulator: mt6311: fix platform_no_drv_owner.cocci warnings
        regulator: ltc3589: Remove unnecessary MODULE_ALIAS()
        regulator: ad5398: Remove unnecessary MODULE_ALIAS()
        regulator: pfuze100: Remove unnecessary MODULE_ALIAS()
        regulator: core: use debug level print in regulator_check_drms
        regulator: lp872x: handle error case
        regulator: lp872x: use the private data instead of updating I2C device platform data
        regulator: isl9305: Export OF module alias information
        regulators: max77693: register driver earlier to avoid deferred probe
        regulator: qcom_smd: Set n_voltages for pm8941_lnldo
        regulator: core: Use IS_ERR_OR_NULL()
        regulator: core: Define regulator_set_voltage_triplet()
        regulator: Regulator driver for the Qualcomm RPM
        regulator: pbias: Fix broken pbias disable functionality
        regulator: core: Spelling fix
        regulator: core: Use class device list for regulator_list in late init
        regulator: core: Move more deallocation into class unregister
        regulator: core: Reduce rdev locking region when releasing regulator
        Input: Remove the max77843 haptic driver
        Input: max77693: Add support for Maxim 77843
        ...
      cf9d615f
    • Linus Torvalds's avatar
      Merge tag 'docs-for-linus' of git://git.lwn.net/linux-2.6 · e2701603
      Linus Torvalds authored
      Pull documentation updates from Jonathan Corbet:
       "There's been a fair amount going on in the docs tree this time around,
        including:
      
         - Support for reproducible document builds, from Ben Hutchings and
           company.
      
         - The ability to automatically generate cross-reference links within
           a single DocBook book and embedded descriptions for large
           structures.  From Danilo Cesar Lemes de Paula.
      
         - A new document on how to add a system call from David Drysdale.
      
         - Chameleon bus documentation from Johannes Thumshirn.
      
        ...plus the usual collection of improvements, typo fixes, and more"
      
      * tag 'docs-for-linus' of git://git.lwn.net/linux-2.6: (39 commits)
        Documentation, add kernel-parameters.txt entry for dis_ucode_ldr
        Documentation/x86: Rename IRQSTACKSIZE to IRQ_STACK_SIZE
        Documentation/Intel-IOMMU.txt: Modify definition of DRHD
        docs: update HOWTO for 3.x -> 4.x versioning
        kernel-doc: ignore unneeded attribute information
        scripts/kernel-doc: Adding cross-reference links to html documentation.
        DocBook: Fix non-determinstic installation of duplicate man pages
        Documentation: minor typo fix in mailbox.txt
        Documentation: describe how to add a system call
        doc: Add more workqueue functions to the documentation
        ARM: keystone: add documentation for SoCs and EVMs
        scripts/kernel-doc Allow struct arguments documentation in struct body
        SubmittingPatches: remove stray quote character
        Revert "DocBook: Avoid building man pages repeatedly and inconsistently"
        Documentation: Minor changes to men-chameleon-bus.txt
        Doc: fix trivial typo in SubmittingPatches
        MAINTAINERS: Direct Documentation/DocBook/media properly
        Documentation: installed man pages don't need to be executable
        fix Evolution submenu name in email-clients.txt
        Documentation: Add MCB documentation
        ...
      e2701603