05 Oct, 2016

14 commits

  • Pull audit updates from Paul Moore:
    "Another relatively small pull request for v4.9 with just two patches.

    The patch from Richard updates the list of features we support and
    report back to userspace; this should have been sent earlier with the
    rest of the v4.8 patches but it got lost in my inbox.

    The second patch fixes a problem reported by our Android friends where
    we weren't very consistent in recording PIDs"

    * 'stable-4.9' of git://git.infradead.org/users/pcmoore/audit:
    audit: add exclude filter extension to feature bitmap
    audit: consistently record PIDs with task_tgid_nr()

    Linus Torvalds
     
  • Pull s390 updates from Martin Schwidefsky:
    "The new features and main improvements in this merge for v4.9

    - Support for the UBSAN sanitizer

    - Set HAVE_EFFICIENT_UNALIGNED_ACCESS, it improves the code in some
    places

    - Improvements for the in-kernel fpu code, in particular the overhead
    for multiple consecutive in kernel fpu users is recuded

    - Add a SIMD implementation for the RAID6 gen and xor operations

    - Add RAID6 recovery based on the XC instruction

    - The PCI DMA flush logic has been improved to increase the speed of
    the map / unmap operations

    - The time synchronization code has seen some updates

    And bug fixes all over the place"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (48 commits)
    s390/con3270: fix insufficient space padding
    s390/con3270: fix use of uninitialised data
    MAINTAINERS: update DASD maintainer
    s390/cio: fix accidental interrupt enabling during resume
    s390/dasd: add missing \n to end of dev_err messages
    s390/config: Enable config options for Docker
    s390/dasd: make query host access interruptible
    s390/dasd: fix panic during offline processing
    s390/dasd: fix hanging offline processing
    s390/pci_dma: improve lazy flush for unmap
    s390/pci_dma: split dma_update_trans
    s390/pci_dma: improve map_sg
    s390/pci_dma: simplify dma address calculation
    s390/pci_dma: remove dma address range check
    iommu/s390: simplify registration of I/O address translation parameters
    s390: migrate exception table users off module.h and onto extable.h
    s390: export header for CLP ioctl
    s390/vmur: fix irq pointer dereference in int handler
    s390/dasd: add missing KOBJ_CHANGE event for unformatted devices
    s390: enable UBSAN
    ...

    Linus Torvalds
     
  • Pull documentation updates from Jonathan Corbet:
    "This is the documentation update pull for the 4.9 merge window.

    The Sphinx transition is still creating a fair amount of work. Here we
    have a number of fixes and, importantly, a proper PDF output solution,
    thanks to Jani Nikula, Mauro Carvalho Chehab and Markus Heiser.

    I've started a couple of new books: a driver API book (based on the
    old device-drivers.tmpl) and a development tools book. Both are meant
    to show how we can integrate together our existing documentation into
    a more coherent and accessible whole. It involves moving some stuff
    around and formatting changes, but, I think, the results are worth it.
    The good news is that most of our existing Documentation/*.txt files
    are *almost* in RST format already; the amount of messing around
    required is minimal.

    And, of course, there's the usual set of updates, typo fixes, and
    more"

    * tag 'docs-4.9' of git://git.lwn.net/linux: (120 commits)
    URL changed for Linux Foundation TAB
    dax : Fix documentation with respect to struct pages
    iio: Documentation: Correct the path used to create triggers.
    docs: Remove space-before-label guidance from CodingStyle
    docs-rst: add inter-document cross references
    Documentation/email-clients.txt: convert it to ReST markup
    Documentation/kernel-docs.txt: reorder based on timestamp
    Documentation/kernel-docs.txt: Add dates for online docs
    Documentation/kernel-docs.txt: get rid of broken docs
    Documentation/kernel-docs.txt: move in-kernel docs
    Documentation/kernel-docs.txt: remove more legacy references
    Documentation/kernel-docs.txt: add two published books
    Documentation/kernel-docs.txt: sort books per publication date
    Documentation/kernel-docs.txt: adjust LDD references
    Documentation/kernel-docs.txt: some improvements on the ReST output
    Documentation/kernel-docs.txt: Consistent indenting: 4 spaces
    Documentation/kernel-docs.txt: Add 4 paper/book references
    Documentation/kernel-docs.txt: Improve layouting of book list
    Documentation/kernel-docs.txt: Remove offline or outdated entries
    docs: Clean up bare :: lines
    ...

    Linus Torvalds
     
  • Pull jfs updates from David Kleikamp:
    "Minor jfs updates"

    * tag 'jfs-4.9' of git://github.com/kleikamp/linux-shaggy:
    jfs: Simplify code
    jfs: jump to error_out when filemap_{fdatawait, write_and_wait} fails

    Linus Torvalds
     
  • Pull gfs2 updates from Bob Peterson:
    "We've only got six GFS2 patches for this merge window. In patch
    order:

    - Fabian Frederick submitted a nice cleanup that uses the BIT macro
    rather than bit shifting.

    - Andreas Gruenbacher contributed a patch that fixes a long-standing
    annoyance whereby GFS2 warned about dirty pages.

    - Andreas also fixed a problem with the recent extended attribute
    readahead feature.

    - Chao Yu contributed a patch that checks the return code from
    function register_shrinker and reacts accordingly. Previously, it
    was not checked.

    - Andreas Gruenbacher also fixed a problem whereby incore file
    timestamps were forgotten if the file was invalidated. This merely
    moves the assignment inside the inode glock where it belongs.

    - Andreas also fixed a problem where incore timestamps were not
    initialized"

    * tag 'gfs2-4.8.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
    gfs2: Initialize atime of I_NEW inodes
    gfs2: Update file times after grabbing glock
    gfs2: fix to detect failure of register_shrinker
    gfs2: Fix extended attribute readahead optimization
    gfs2: Remove dirty buffer warning from gfs2_releasepage
    GFS2: use BIT() macro

    Linus Torvalds
     
  • Pull file locking updates from Jeff Layton:
    "Only a single patch from Nikolay this cycle, with a small change to
    better handle /proc/locks in a containerized host"

    * tag 'locks-v4.9-1' of git://git.samba.org/jlayton/linux:
    locks: Filter /proc/locks output on proc pid ns

    Linus Torvalds
     
  • Pull hdi1 rdma driver updates from Doug Ledford:
    "This is the first pull request of the 4.9 merge window for the RDMA
    subsystem. It is only the hfi1 driver. It had dependencies on code
    that only landed late in the 4.7-rc cycle (around 4.7-rc7), so putting
    this with my other for-next code would have create an ugly merge of
    lot of 4.7-rc stuff. For that reason, it's being submitted
    individually. It's been through 0day and linux-next"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (37 commits)
    IB/rdmavt: Trivial function comment corrected.
    IB/hfi1: Fix trace of atomic ack
    IB/hfi1: Update SMA ingress checks for response packets
    IB/hfi1: Use EPROM platform configuration read
    IB/hfi1: Add ability to read platform config from the EPROM
    IB/hfi1: Restore EPROM read ability
    IB/hfi1: Document new sysfs entries for hfi1 driver
    IB/hfi1: Add new debugfs sdma_cpu_list file
    IB/hfi1: Add irq affinity notification handler
    IB/hfi1: Add a new VL sysfs attribute for sdma engines
    IB/hfi1: Add sysfs interface for affinity setup
    IB/hfi1: Fix resource release in context allocation
    IB/hfi1: Remove unused variable from devdata
    IB/hfi1: Cleanup tasklet refs in comments
    IB/hfi1: Adjust hardware buffering parameter
    IB/hfi1: Act on external device timeout
    IB/hfi1: Fix defered ack race with qp destroy
    IB/hfi1: Combine shift copy and byte copy for SGE reads
    IB/hfi1: Do not read more than a SGE length
    IB/hfi1: Extend i2c timeout
    ...

    Linus Torvalds
     
  • Pull EDAC updates from Borislav Petkov:
    "A lot of movement in the EDAC tree this time around, coarse summary
    below:

    - Altera Arria10 enablement of NAND, DMA, USB, QSPI and SD-MMC FIFO
    buffers (Thor Thayer)

    - split the memory controller part out of mpc85xx and share it with a
    new Freescale ARM Layerscape driver (York Sun)

    - amd64_edac fixes (Yazen Ghannam)

    - misc cleanups, refactoring and fixes all over the place"

    * tag 'edac_for_4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: (37 commits)
    EDAC, altera: Add IRQ Flags to disable IRQ while handling
    EDAC, altera: Correct EDAC IRQ error message
    EDAC, amd64: Autoload module using x86_cpu_id
    EDAC, sb_edac: Remove NULL pointer check on array pci_tad
    EDAC: Remove NO_IRQ from powerpc-only drivers
    EDAC, fsl_ddr: Fix error return code in fsl_mc_err_probe()
    EDAC, fsl_ddr: Add entry to MAINTAINERS
    EDAC: Move Doug Thompson to CREDITS
    EDAC, I3000: Orphan driver
    EDAC, fsl_ddr: Replace simple_strtoul() with kstrtoul()
    EDAC, layerscape: Add Layerscape EDAC support
    EDAC, fsl_ddr: Fix IRQ dispose warning when module is removed
    EDAC, fsl_ddr: Add support for little endian
    EDAC, fsl_ddr: Add missing DDR DRAM types
    EDAC, fsl_ddr: Rename macros and names
    EDAC, fsl-ddr: Separate FSL DDR driver from MPC85xx
    EDAC, mpc85xx: Replace printk() with pr_* format
    EDAC, mpc85xx: Drop setting/clearing RFXE bit in HID1
    EDAC, altera: Rename MC trigger to common name
    EDAC, altera: Rename device trigger to common name
    ...

    Linus Torvalds
     
  • Pull spi updates from Mark Brown:
    "The SPI subsystem has also had quite a quiet release, though with a
    fairly large set of per-driver changes and several new drivers. The
    bulk of the changes are:

    - lots and lots of cleanups and improvements for the fsl-espi driver

    - new drivers for Broadcom MSPI/iProc/STB, Cavium ThunderX and
    J-Core"

    * tag 'spi-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (80 commits)
    spi: sc18is602: Change gpiod_set_value to gpiod_set_value_cansleep
    spi: pxa2xx: Fix build error because of missing header
    spi: imx: fix error return code in spi_imx_probe()
    spi: pxa2xx: Add support for GPIO descriptor chip selects
    spi: imx: Gracefully handle NULL master->cs_gpios
    spi: iproc-qspi: Add Broadcom iProc SoCs support
    spi: fsl-espi: improve return value handling in fsl_espi_probe
    spi: fsl-espi: simplify of_fsl_espi_probe
    spi: fsl-espi: remove unused variable in fsl_espi_setup
    spi: bcm-qspi: Fix error return code in bcm_qspi_probe()
    spi: bcm-qspi: Fix return value check in bcm_qspi_probe()
    spi: bcm-qspi: fix suspend/resume #ifdef
    spi: bcm-qspi: don't include linux/mtd/cfi.h
    spi: core: Use spi_sync_transfer() in spi_write()/spi_read()
    spi: fsl-espi: improve and extend register bit definitions
    spi: fsl-espi: align register access with other drivers
    spi: fsl-espi: improve and simplify interrupt handler
    spi: fsl-espi: simplify fsl_espi_setup_transfer
    spi: imx: support loopback mode on imx35
    spi: imx: set spi_bus_clk for mx1, mx31 and mx35
    ...

    Linus Torvalds
     
  • Pull regulator updates from Mark Brown:
    "This is an extremely quiet release for the regulator API, we've got a
    small set of bug fixes and minor feature enhancements for drivers plus
    a couple of more visible changes:

    - add support for ramp times in regulators that don't use selectors.

    - new driver for LTC3676"

    * tag 'regulator-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
    regulator: dbx500: remove unused functions in dbx500-prcmu.c
    regulator: pv88080: Update regulator for PV88080 BB silicon support
    regulator: core: don't return error with inadequate reason
    regulator: tps65910: Work around silicon erratum SWCZ010
    regulator: core: Add set_voltage_time op
    regulator: core: Don't skip set_voltage_time when ramp delay disabled
    regulator: core: Simplify error flow in _regulator_do_set_voltage()
    regulator: core: Use local ops variable in _regulator_do_set_voltage()
    regulator: hi6421: mark hi6421_regulator_ldo_get_optimum_mode() static
    regulator: Kconfig: Fix typo
    regulator: bindings: Use the correct symbol for second
    regulator: Remove support for optional supplies in the bulk API
    regulator: Add LTC3676 support
    regulator: rk808: Delete owner assignment
    regulator: tps65218: do not disable DCDC3 during poweroff on broken PMICs
    mfd: tps65218: add version check to the PMIC probe

    Linus Torvalds
     
  • Pull regmap updates from Mark Brown:
    "Another quiet release, a few small extensions to the set of register
    maps we support and an improvement in the debugfs code:

    - allow viewing of cached contents for write only registers via
    debugfs.

    - support a wider range of read/write flag masks in register formats.

    - support more little endian formats"

    * tag 'regmap-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
    regmap: Add missing little endian functions
    regmap: Allow longer flag masks for read and write
    regmap: debugfs: Add support for dumping write only device registers
    regmap: Add a function to check if a regmap register is cached

    Linus Torvalds
     
  • Pull clk framework updates from Stephen Boyd:
    "The core clk framework changes are small again. They're mostly minor
    fixes that weren't causing enough problems (or any problems when we're
    just clarifying things) to warrant sending outside the merge window.
    The majority of changes are in drivers for various SoCs. Full details
    are in the logs, but here's the summary.

    Core:

    - Better support for DeviceTree overlays with the addition of the
    CLK_OF_DECLARE_DRIVER macro. Now we won't probe a clk driver for a
    device node that matched during of_clk_init(), unless the driver
    uses CLK_OF_DECLARE_DRIVER instead of CLK_OF_DECLARE. This allows
    overlays to work cleanly for drivers that must probe before the
    device model is ready, and also after it's ready when an overlay is
    loaded.

    - Clarification in the code around how clk_hw pointers are returned
    from of clk providers

    - Proper migration of prepare/enable counts to parents when the clk
    tree is constructed

    New Drivers:

    - Socionext's UniPhier SoCs
    - Loongson1C
    - ZTE ZX296718
    - Qualcomm MDM9615
    - Amlogic GXBB AO clocks and resets
    - Broadcom BCM53573 ILP
    - Maxim MAX77620

    Updates:

    - Four Allwinner SoCs are migrated to the new style clk driver (A31,
    A31s, A23 and A33)
    - Exynos 5xxx audio and DRAM clks
    - Loongson1B AC97, DMA and NAND clks
    - Rockchip DDR clks and rk3399 driver tweaks
    - Renesas R-Car M3-W (r8a7796) SoC SDHI interface and Watchdog timer
    clks
    - Renasas R-Car H3 and M3-W CMT clks and RAVB+Thermal clks for M3-W
    - Amlogic GXBB MMC gate clks
    - at91 sama5d4 sckc
    - Removal of STiH415 and STiH416 clk support as the SoC is being
    removed
    - Rework of STiH4xx clk support for new style bindings
    - Continuation of driver migration to clk_hw based registration APIs
    - xgene PMD support
    - bcm2835 critical clk markings
    - ARM versatile ICST"

    * tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: (199 commits)
    CLK: Add Loongson1C clock support
    clk: Loongson1: Make use of GENMASK
    clk: Loongson1: Update clocks of Loongson1B
    clk: Loongson1: Refactor Loongson1 clock
    clk: change the type of clk_hw_onecell_data.num to unsigned int
    clk: zx296718: register driver earlier with core_initcall
    clk: mvebu: dynamically allocate resources in Armada CP110 system controller
    clk: mvebu: fix setting unwanted flags in CP110 gate clock
    clk: nxp: clk-lpc32xx: Unmap region obtained by of_iomap
    clk: mediatek: clk-mt8173: Unmap region obtained by of_iomap
    clk: sunxi-ng: Fix reset offset for the A23 and A33
    clk: at91: sckc: optimize boot time
    clk: at91: Add sama5d4 sckc support
    clk: at91: move slow clock controller clocks to sckc.c
    clk: imx6: initialize GPU clocks
    clk: imx6: fix i.MX6DL clock tree to reflect reality
    clk: imx53: Add clocks configuration
    clk: uniphier: add clock data for UniPhier SoCs
    clk: uniphier: add core support code for UniPhier clock driver
    clk: bcm: Add driver for BCM53573 ILP clock
    ...

    Linus Torvalds
     
  • …t/groeck/linux-staging

    Pull hwmon updates from Guenter Roeck:

    - New hwmon registration API, including ports of several drivers to the
    new API

    - New hwmon driver for APM X-Gene SoC

    - Added support for UCD90160, DPS-460, DPS-800, and SGD009 PMBUs chips

    - Various cleanups, minor improvements, and fixes in several drivers

    * tag 'hwmon-for-linus-v4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (54 commits)
    hwmon: (nct6775) Add support for multiple virtual temperature sources
    hwmon: (adt7470) No need for additional synchronization on kthread_stop()
    hwmon: (lm95241) Update module description to include LM95231
    hwmon: (lm95245) Select REGMAP_I2C
    hwmon: (ibmpowernv) Fix label for cores numbers not threads
    hwmon: (adt7470) Allow faster removal
    hwmon: (adt7470) Add write support to alarm_mask
    hwmon: (xgene) access mailbox as RAM
    hwmon: (lm95245) Use new hwmon registration API
    hwmon: (lm95241) Convert to use new hwmon registration API
    hwmon: (jc42) Convert to use new hwmon registration API
    hwmon: (max31790) Convert to use new hwmon registration API
    hwmon: (nct7904) Convert to use new hwmon registration API
    hwmon: (ltc4245) Convert to use new hwmon registration API
    hwmon: (tmp421) Convert to use new hwmon registration API
    hwmon: (tmp102) Convert to use new hwmon registration API
    hwmon: (lm90) Convert to use new hwmon registration API
    hwmon: (lm75) Convert to use new hwmon registration API
    hwmon: (xgene) Fix crash when alarm occurs before driver probe
    hwmon: (iio_hwmon) defer probe when no channel is found
    ...

    Linus Torvalds
     
  • Pull LED driver updates from Jacek Anaszewski:
    "Three new LED class drivers and some minor fixes and improvementes to
    the leds-gpio driver, LED Trigger core and documentation"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds:
    leds: triggers: Check return value of kobject_uevent_env()
    leds: triggers: Return from led_trigger_set() if there is nothing to do
    leds: gpio: fix and simplify error handling in gpio_leds_create
    leds: gpio: switch to managed version of led_classdev_register
    leds: gpio: fix and simplify reading property "label"
    leds: gpio: simplify gpio_leds_create
    leds: gpio: add helper cdev_to_gpio_led_data
    leds: gpio: fix an unhandled error case in create_gpio_led
    leds: gpio: introduce gpio_blink_set_t
    leds: add driver for Mellanox systems LEDs
    Documentation: move oneshot trigger attributes documentation to ABI
    leds: centralize definition of "default-state" property
    leds: add PM8058 LEDs driver
    leds: pm8058: add device tree bindings
    leds: do not overflow sysfs buffer in led_trigger_show
    leds: make triggers explicitly non-modular
    DT: leds: Add bindings for ISSI is31fl319x
    leds: is31fl319x: 1/3/6/9-channel light effect led driver

    Linus Torvalds
     

04 Oct, 2016

26 commits

  • That just generally kills the machine, and makes debugging only much
    harder, since the traces may long be gone.

    Debugging by assert() is a disease. Don't do it. If you can continue,
    you're much better off doing so with a live machine where you have a
    much higher chance that the report actually makes it to the system logs,
    rather than result in a machine that is just completely dead.

    The only valid situation for BUG_ON() is when continuing is not an
    option, because there is massive corruption. But if you are just
    verifying that something is true, you warn about your broken assumptions
    (preferably just once), and limp on.

    Fixes: 22f2ac51b6d6 ("mm: workingset: fix crash in shadow node shrinker caused by replace_page_cache_page()")
    Cc: Johannes Weiner
    Cc: Miklos Szeredi
    Cc: Andrew Morton
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Pull usb/phy/extcon updates from Greg KH:
    "Here is the big USB, and PHY, and extcon, patchsets for 4.9-rc1.

    Full details are in the shortlog, but generally a lot of new hardware
    support, usb gadget updates, and Wolfram's great cleanup of USB error
    message handling, making the kernel image a tad bit smaller.

    All of this has been in linux-next with no reported issues"

    * tag 'usb-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (343 commits)
    Revert "usbtmc: convert to devm_kzalloc"
    USB: serial: cp210x: Add ID for a Juniper console
    usb: Kconfig: using select for USB_COMMON dependency
    bluetooth: bcm203x: don't print error when allocating urb fails
    mmc: host: vub300: don't print error when allocating urb fails
    usb: hub: change CLEAR_FEATURE to SET_FEATURE
    usb: core: Introduce a USB port LED trigger
    USB: bcma: drop Northstar PHY 2.0 initialization code
    usb: core: hcd: add missing header dependencies
    usb: musb: da8xx: fix error handling message in probe
    usb: musb: Fix session based PM for first invalid VBUS
    usb: musb: Fix PM runtime for disconnect after unconfigure
    musb: Export musb_root_disconnect for use in modules
    usb: misc: legousbtower: Fix NULL pointer deference
    cdc-acm: hardening against malicious devices
    Revert "usb: gadget: NCM: Protect dev->port_usb using dev->lock"
    include: extcon: Fix compilation error caused because of incomplete merge
    MAINTAINERS: add tree entry for USB Serial
    phy-twl4030-usb: initialize charging-related stuff via pm_runtime
    phy-twl4030-usb: better handle musb_mailbox() failure
    ...

    Linus Torvalds
     
  • Mark Brown
     
  • Pull tty and serial updates from Greg KH:
    "Here is the big tty and serial patch set for 4.9-rc1.

    It also includes some drivers/dma/ changes, as those were needed by
    some serial drivers, and they were all acked by the DMA maintainer.

    Also in here is the long-suffering ACPI SPCR patchset, which was
    passed around from maintainer to maintainer like a hot-potato. Seems I
    was the sucker^Wlucky one. All of those patches have been acked by the
    various subsystem maintainers as well.

    All of this has been in linux-next with no reported issues"

    * tag 'tty-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (111 commits)
    Revert "serial: pl011: add console matching function"
    MAINTAINERS: update entry for atmel_serial driver
    serial: pl011: add console matching function
    ARM64: ACPI: enable ACPI_SPCR_TABLE
    ACPI: parse SPCR and enable matching console
    of/serial: move earlycon early_param handling to serial
    Revert "drivers/tty: Explicitly pass current to show_stack"
    tty: amba-pl011: Don't complain on -EPROBE_DEFER when no irq
    nios2: dts: 10m50: Add tx-threshold parameter
    serial: 8250: Set Altera 16550 TX FIFO Threshold
    serial: 8250: of: Load TX FIFO Threshold from DT
    Documentation: dt: serial: Add TX FIFO threshold parameter
    drivers/tty: Explicitly pass current to show_stack
    serial: imx: Fix DCD reading
    serial: stm32: mark symbols static where possible
    serial: xuartps: Add some register initialisation to cdns_early_console_setup()
    serial: xuartps: Removed unwanted checks while reading the error conditions
    serial: xuartps: Rewrite the interrupt handling logic
    serial: stm32: use mapbase instead of membase for DMA
    tty/serial: atmel: fix fractional baud rate computation
    ...

    Linus Torvalds
     
  • Pull driver core updates from Greg KH:
    "Here are the "big" driver core patches for 4.9-rc1. Also in here are a
    number of debugfs fixes that cropped up due to the changes that
    happened in 4.8 for that filesystem. Overall, nothing major, just a
    few fixes and cleanups.

    All of these have been in linux-next with no reported issues"

    * tag 'driver-core-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (23 commits)
    drivers: dma-coherent: Move spinlock in dma_alloc_from_coherent()
    drivers: dma-coherent: Fix DMA coherent size for less than page
    MAINTAINERS: extend firmware_class maintainer list
    debugfs: propagate release() call result
    driver-core: platform: Catch errors from calls to irq_get_irq_data
    sysfs print name of undiscoverable attribute group
    carl9170: fix debugfs crashes
    b43legacy: fix debugfs crash
    b43: fix debugfs crash
    debugfs: introduce a public file_operations accessor
    device core: Remove deprecated create_singlethread_workqueue
    drivers/base dmam_declare_coherent_memory leaks
    platform: don't return 0 from platform_get_irq[_byname]() on error
    cpu: clean up register_cpu func
    dma-mapping: use vma_pages().
    drivers: dma-coherent: use vma_pages().
    attribute_container: Fix typo
    base: soc: make it explicitly non-modular
    drivers: base: dma-mapping: page align the size when unmap_kernel_range
    platform driver: fix use-after-free in platform_device_del()
    ...

    Linus Torvalds
     
  • Pull char/misc driver updates from Greg KH:
    "Here's the "big" char and misc driver update for 4.9-rc1.

    Lots of little things here, all over the driver tree for subsystems
    that flow through me. Nothing major that I can discern, full details
    are in the shortlog.

    All have been in the linux-next tree with no reported issues"

    * tag 'char-misc-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (144 commits)
    drivers/misc/hpilo: Changes to support new security states in iLO5 FW
    at25: fix debug and error messaging
    misc/genwqe: ensure zero initialization
    vme: fake: remove unexpected unlock in fake_master_set()
    vme: fake: mark symbols static where possible
    spmi: pmic-arb: Return an error code if sanity check fails
    Drivers: hv: get rid of id in struct vmbus_channel
    Drivers: hv: make VMBus bus ids persistent
    mcb: Add a dma_device to mcb_device
    mcb: Enable PCI bus mastering by default
    mei: stop the stall timer worker if not needed
    clk: probe common clock drivers earlier
    vme: fake: fix build for 64-bit dma_addr_t
    ttyprintk: Neaten and simplify printing
    mei: me: add kaby point device ids
    coresight: tmc: mark symbols static where possible
    coresight: perf: deal with error condition properly
    Drivers: hv: hv_util: Avoid dynamic allocation in time synch
    fpga manager: Add hardware dependency to Zynq driver
    Drivers: hv: utils: Support TimeSync version 4.0 protocol samples.
    ...

    Linus Torvalds
     
  • Pull CPU hotplug updates from Thomas Gleixner:
    "Yet another batch of cpu hotplug core updates and conversions:

    - Provide core infrastructure for multi instance drivers so the
    drivers do not have to keep custom lists.

    - Convert custom lists to the new infrastructure. The block-mq custom
    list conversion comes through the block tree and makes the diffstat
    tip over to more lines removed than added.

    - Handle unbalanced hotplug enable/disable calls more gracefully.

    - Remove the obsolete CPU_STARTING/DYING notifier support.

    - Convert another batch of notifier users.

    The relayfs changes which conflicted with the conversion have been
    shipped to me by Andrew.

    The remaining lot is targeted for 4.10 so that we finally can remove
    the rest of the notifiers"

    * 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (46 commits)
    cpufreq: Fix up conversion to hotplug state machine
    blk/mq: Reserve hotplug states for block multiqueue
    x86/apic/uv: Convert to hotplug state machine
    s390/mm/pfault: Convert to hotplug state machine
    mips/loongson/smp: Convert to hotplug state machine
    mips/octeon/smp: Convert to hotplug state machine
    fault-injection/cpu: Convert to hotplug state machine
    padata: Convert to hotplug state machine
    cpufreq: Convert to hotplug state machine
    ACPI/processor: Convert to hotplug state machine
    virtio scsi: Convert to hotplug state machine
    oprofile/timer: Convert to hotplug state machine
    block/softirq: Convert to hotplug state machine
    lib/irq_poll: Convert to hotplug state machine
    x86/microcode: Convert to hotplug state machine
    sh/SH-X3 SMP: Convert to hotplug state machine
    ia64/mca: Convert to hotplug state machine
    ARM/OMAP/wakeupgen: Convert to hotplug state machine
    ARM/shmobile: Convert to hotplug state machine
    arm64/FP/SIMD: Convert to hotplug state machine
    ...

    Linus Torvalds
     
  • Pull irq updates from Thomas Gleixner:
    "The irq departement proudly presents:

    - A rework of the core infrastructure to optimally spread interrupt
    for multiqueue devices. The first version was a bit naive and
    failed to take thread siblings and other details into account.
    Developed in cooperation with Christoph and Keith.

    - Proper delegation of softirqs to ksoftirqd, so if ksoftirqd is
    active then no further softirq processsing on interrupt return
    happens. Otherwise we try to delegate and still run another batch
    of network packets in the irq return path, which then tries to
    delegate to ksoftirqd .....

    - A proper machine parseable sysfs based alternative for
    /proc/interrupts.

    - ACPI support for the GICV3-ITS and ARM interrupt remapping

    - Two new irq chips from the ARM SoC zoo: STM32-EXTI and MVEBU-PIC

    - A new irq chip for the JCore (SuperH)

    - The usual pile of small fixlets in core and irqchip drivers"

    * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (42 commits)
    softirq: Let ksoftirqd do its job
    genirq: Make function __irq_do_set_handler() static
    ARM/dts: Add EXTI controller node to stm32f429
    ARM/STM32: Select external interrupts controller
    drivers/irqchip: Add STM32 external interrupts support
    Documentation/dt-bindings: Document STM32 EXTI controller bindings
    irqchip/mips-gic: Use for_each_set_bit to iterate over local IRQs
    pci/msi: Retrieve affinity for a vector
    genirq/affinity: Remove old irq spread infrastructure
    genirq/msi: Switch to new irq spreading infrastructure
    genirq/affinity: Provide smarter irq spreading infrastructure
    genirq/msi: Add cpumask allocation to alloc_msi_entry
    genirq: Expose interrupt information through sysfs
    irqchip/gicv3-its: Use MADT ITS subtable to do PCI/MSI domain initialization
    irqchip/gicv3-its: Factor out PCI-MSI part that might be reused for ACPI
    irqchip/gicv3-its: Probe ITS in the ACPI way
    irqchip/gicv3-its: Refactor ITS DT init code to prepare for ACPI
    irqchip/gicv3-its: Cleanup for ITS domain initialization
    PCI/MSI: Setup MSI domain on a per-device basis using IORT ACPI table
    ACPI: Add new IORT functions to support MSI domain handling
    ...

    Linus Torvalds
     
  • Pull timer updates from Thomas Gleixner:
    "A rather smalish set of updates for timers and timekeeping:

    - Two core fixes to prevent potential undefinded behaviour about
    which gcc is complaining rightfully.

    - A fix to prevent stopping the tick on an (soon) offline CPU so it
    can complete the shutdown procedure.

    - Wait for clocks to stabilize before making decisions, so a not yet
    validated clock is not rejected.

    - The usual pile of fixes to the various clocksource drivers.

    - Core code typo and include fixlets"

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    timekeeping: Include the correct header for errno definitions
    clocksource/drivers/ti-32k: Prevent ftrace recursion
    clocksource/mips-gic-timer: Stop checking cpu_has_counter
    clocksource/mips-gic-timer: Print an error if IRQ setup fails
    tick/nohz: Prevent stopping the tick on an offline CPU
    clocksource/drivers/oxnas: Add OX820 compatible
    clocksource/drivers/timer-atmel-pit: Simplify IRQ handler
    clocksource/drivers/timer-atmel-pit: Remove uselesss WARN_ON_ONCE
    clocksource/drivers/timer-atmel-pit: Drop at91sam926x_pit_common_init
    clocksource/drivers/moxart: Replace panic by pr_err
    clocksource/drivers/moxart: Replace setup_irq by request_irq
    clocksource/drivers/moxart: Add Aspeed support
    clocksource/drivers/moxart: Use struct to hold state
    clocksource/drivers/moxart: Refactor enable/disable
    time: Avoid undefined behaviour in ktime_add_safe()
    time: Avoid undefined behaviour in timespec64_add_safe()
    timekeeping: Prints the amounts of time spent during suspend
    clocksource: Defer override invalidation unless clock is unstable
    hrtimer: Spelling fixes

    Linus Torvalds
     
  • Pull ARC updates from Vineet Gupta:

    - ARCv2 support for native 64-bit atomics using LLOCK/SCONDD
    instructions

    - Support for upcoming 3.0 release of HS38 cores

    - Dwarf unwindinder improvements:
    - enable unwinding of hand written assembler code using CFI
    pseudo-ops
    - switch to .eh_frame (as opposed to historic .debug_frame)
    - get rid of a bunch of adhoc band-aids in the process

    - Misc fixes:
    - perf supporting generic cache-references and cache-misses (Alexey)
    - default NODE_SHIFT (Noam Camus)
    - usage of KFLAG instruction to set IE (Yuriy)

    - Platforms:
    - Add "model" property across the DT (Alexey)
    - Enable MODULE_* in defconfigs

    * tag 'arc-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
    ARC: [plat*] enables MODULE*
    ARCv2: fix local_save_flags
    ARC: CONFIG_NODES_SHIFT fix default values
    ARCv2: intc: Use kflag if STATUS32.IE must be reset
    ARC: .exit.* sections can be discarded in .eh_frame regime
    ARC: dw2 unwind: enable cfi pseudo ops in string lib
    ARC: dw2 unwind: add infrastructure for adding cfi pseudo ops to asm
    ARC: entry: make ret_from_system_call local label
    ARC: dw2 unwind: don't force dwarf 2
    ARC: dw2 unwind: switch to .eh_frame based unwinding
    ARC: dw2 unwind: factor CIE specifics for .eh_frame/.debug_frame
    ARC: module: support R_ARC_32_PCREL relocation
    arc: perf: Enable generic "cache-references" and "cache-misses" events
    ARC: [plat-eznps] add missing atomic_fetch_xxx operations
    ARCv2: Implement atomic64 based on LLOCKD/SCONDD instructions
    ARCv2: Support dynamic peripheral address space in HS38 rel 3.0 cores
    ARCv2: identify HS38 rel 3.0 cores
    ARCv2: Add support for ZeBu Emulation platform for HS cores
    arc: Add "model" properly in device tree description of all boards

    Linus Torvalds
     
  • Pull m68k updates from Geert Uytterhoeven:
    - cleanups
    - defconfig updates
    - GPG fingerprint update

    * tag 'm68k-for-v4.9-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
    m68k: Migrate exception table users off module.h and onto extable.h
    CREDITS: Update fingerprint for Geert Uytterhoeven
    m68k: Use IS_ENABLED() instead of checking for built-in or module
    m68k/defconfig: Update defconfigs for v4.8-rc1

    Linus Torvalds
     
  • Pull x86 vdso updates from Ingo Molnar:
    "The main changes in this cycle centered around adding support for
    32-bit compatible C/R of the vDSO on 64-bit kernels, by Dmitry
    Safonov"

    * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/vdso: Use CONFIG_X86_X32_ABI to enable vdso prctl
    x86/vdso: Only define map_vdso_randomized() if CONFIG_X86_64
    x86/vdso: Only define prctl_map_vdso() if CONFIG_CHECKPOINT_RESTORE
    x86/signal: Add SA_{X32,IA32}_ABI sa_flags
    x86/ptrace: Down with test_thread_flag(TIF_IA32)
    x86/coredump: Use pr_reg size, rather that TIF_IA32 flag
    x86/arch_prctl/vdso: Add ARCH_MAP_VDSO_*
    x86/vdso: Replace calculate_addr in map_vdso() with addr
    x86/vdso: Unmap vdso blob on vvar mapping failure

    Linus Torvalds
     
  • Pull x86 timer updates from Ingo Molnar:
    "This tree includes a HPET overhead micro-optimization plus new TSC
    frequencies for newer Intel CPUs"

    * 'x86-timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/tsc: Add additional Intel CPU models to the crystal quirk list
    x86/tsc: Use cpu id defines instead of hex constants
    x86/hpet: Reduce HPET counter read contention

    Linus Torvalds
     
  • Pull x86 platform changes from Ingo Molnar:
    "The main changes in this cycle were:

    - SGI UV updates (Andrew Banman)

    - Intel MID updates (Andy Shevchenko)

    - Initial Mellanox systems platform (Vadim Pasternak)"

    * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/platform/mellanox: Fix return value check in mlxplat_init()
    x86/platform/mellanox: Introduce support for Mellanox systems platform
    x86/platform/uv/BAU: Add UV4-specific functions
    x86/platform/uv/BAU: Fix payload queue setup on UV4 hardware
    x86/platform/uv/BAU: Disable software timeout on UV4 hardware
    x86/platform/uv/BAU: Populate ->uvhub_version with UV4 version information
    x86/platform/uv/BAU: Use generic function pointers
    x86/platform/uv/BAU: Add generic function pointers
    x86/platform/uv/BAU: Convert uv_physnodeaddr() use to uv_gpa_to_offset()
    x86/platform/uv/BAU: Clean up pq_init()
    x86/platform/uv/BAU: Clean up and update printks
    x86/platform/uv/BAU: Clean up vertical alignment
    x86/platform/intel-mid: Keep SRAM powered on at boot
    x86/platform/intel-mid: Add Intel Penwell to ID table
    x86/cpu: Rename Merrifield2 to Moorefield
    x86/platform/intel-mid: Implement power off sequence
    x86/platform/intel-mid: Enable SD card detection on Merrifield
    x86/platform/intel-mid: Enable WiFi on Intel Edison
    x86/platform/intel-mid: Run PWRMU command immediately

    Linus Torvalds
     
  • Pull x86 cleanups from Ingo Molnar:
    "Header file and a wrapper functions cleanup"

    * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86: Migrate exception table users off module.h and onto extable.h
    x86: Clean up various simple wrapper functions

    Linus Torvalds
     
  • Pull x86 boot updates from Ingo Molnar:
    "The changes in this cycle were:

    - Save e820 table RAM footprint on larger kernel configurations.
    (Denys Vlasenko)

    - pmem related fixes (Dan Williams)

    - theoretical e820 boundary condition fix (Wei Yang)"

    * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/boot: Fix kdump, cleanup aborted E820_PRAM max_pfn manipulation
    x86/e820: Use much less memory for e820/e820_saved, save up to 120k
    x86/e820: Prepare e280 code for switch to dynamic storage
    x86/e820: Mark some static functions __init
    x86/e820: Fix very large 'size' handling boundary condition

    Linus Torvalds
     
  • Pull low-level x86 updates from Ingo Molnar:
    "In this cycle this topic tree has become one of those 'super topics'
    that accumulated a lot of changes:

    - Add CONFIG_VMAP_STACK=y support to the core kernel and enable it on
    x86 - preceded by an array of changes. v4.8 saw preparatory changes
    in this area already - this is the rest of the work. Includes the
    thread stack caching performance optimization. (Andy Lutomirski)

    - switch_to() cleanups and all around enhancements. (Brian Gerst)

    - A large number of dumpstack infrastructure enhancements and an
    unwinder abstraction. The secret long term plan is safe(r) live
    patching plus maybe another attempt at debuginfo based unwinding -
    but all these current bits are standalone enhancements in a frame
    pointer based debug environment as well. (Josh Poimboeuf)

    - More __ro_after_init and const annotations. (Kees Cook)

    - Enable KASLR for the vmemmap memory region. (Thomas Garnier)"

    [ The virtually mapped stack changes are pretty fundamental, and not
    x86-specific per se, even if they are only used on x86 right now. ]

    * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (70 commits)
    x86/asm: Get rid of __read_cr4_safe()
    thread_info: Use unsigned long for flags
    x86/alternatives: Add stack frame dependency to alternative_call_2()
    x86/dumpstack: Fix show_stack() task pointer regression
    x86/dumpstack: Remove dump_trace() and related callbacks
    x86/dumpstack: Convert show_trace_log_lvl() to use the new unwinder
    oprofile/x86: Convert x86_backtrace() to use the new unwinder
    x86/stacktrace: Convert save_stack_trace_*() to use the new unwinder
    perf/x86: Convert perf_callchain_kernel() to use the new unwinder
    x86/unwind: Add new unwind interface and implementations
    x86/dumpstack: Remove NULL task pointer convention
    fork: Optimize task creation by caching two thread stacks per CPU if CONFIG_VMAP_STACK=y
    sched/core: Free the stack early if CONFIG_THREAD_INFO_IN_TASK
    lib/syscall: Pin the task stack in collect_syscall()
    x86/process: Pin the target stack in get_wchan()
    x86/dumpstack: Pin the target stack when dumping it
    kthread: Pin the stack via try_get_task_stack()/put_task_stack() in to_live_kthread() function
    sched/core: Add try_get_task_stack() and put_task_stack()
    x86/entry/64: Fix a minor comment rebase error
    iommu/amd: Don't put completion-wait semaphore on stack
    ...

    Linus Torvalds
     
  • Pull x86 apic updates from Ingo Molnar:
    "The main changes are:

    - Persistent CPU/node numbering across CPU hotplug/unplug events.
    This is a pretty involved series of changes that first fetches all
    the information during bootup and then uses it for the various
    hotplug/unplug methods. (Gu Zheng, Dou Liyang)

    - IO-APIC hot-add/remove fixes and enhancements. (Rui Wang)

    - ... various fixes, cleanups and enhancements"

    * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
    x86/apic: Fix silent & fatal merge conflict in __generic_processor_info()
    acpi: Fix broken error check in map_processor()
    acpi: Validate processor id when mapping the processor
    acpi: Provide mechanism to validate processors in the ACPI tables
    x86/acpi: Set persistent cpuid nodeid mapping when booting
    x86/acpi: Enable MADT APIs to return disabled apicids
    x86/acpi: Introduce persistent storage for cpuid apicid mapping
    x86/acpi: Enable acpi to register all possible cpus at boot time
    x86/numa: Online memory-less nodes at boot time
    x86/apic: Get rid of apic_version[] array
    x86/apic: Order irq_enter/exit() calls correctly vs. ack_APIC_irq()
    x86/ioapic: Ignore root bridges without a companion ACPI device
    x86/apic: Update comment about disabling processor focus
    x86/smpboot: Check APIC ID before setting up default routing
    x86/ioapic: Fix IOAPIC failing to request resource
    x86/ioapic: Fix lost IOAPIC resource after hot-removal and hotadd
    x86/ioapic: Fix setup_res() failing to get resource
    x86/ioapic: Support hot-removal of IOAPICs present during boot
    x86/ioapic: Change prototype of acpi_ioapic_add()
    x86/apic, ACPI: Fix incorrect assignment when handling apic/x2apic entries
    ...

    Linus Torvalds
     
  • Pull scheduler changes from Ingo Molnar:
    "The main changes are:

    - irqtime accounting cleanups and enhancements. (Frederic Weisbecker)

    - schedstat debugging enhancements, make it more broadly runtime
    available. (Josh Poimboeuf)

    - More work on asymmetric topology/capacity scheduling. (Morten
    Rasmussen)

    - sched/wait fixes and cleanups. (Oleg Nesterov)

    - PELT (per entity load tracking) improvements. (Peter Zijlstra)

    - Rewrite and enhance select_idle_siblings(). (Peter Zijlstra)

    - sched/numa enhancements/fixes (Rik van Riel)

    - sched/cputime scalability improvements (Stanislaw Gruszka)

    - Load calculation arithmetics fixes. (Dietmar Eggemann)

    - sched/deadline enhancements (Tommaso Cucinotta)

    - Fix utilization accounting when switching to the SCHED_NORMAL
    policy. (Vincent Guittot)

    - ... plus misc cleanups and enhancements"

    * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (64 commits)
    sched/irqtime: Consolidate irqtime flushing code
    sched/irqtime: Consolidate accounting synchronization with u64_stats API
    u64_stats: Introduce IRQs disabled helpers
    sched/irqtime: Remove needless IRQs disablement on kcpustat update
    sched/irqtime: No need for preempt-safe accessors
    sched/fair: Fix min_vruntime tracking
    sched/debug: Add SCHED_WARN_ON()
    sched/core: Fix set_user_nice()
    sched/fair: Introduce set_curr_task() helper
    sched/core, ia64: Rename set_curr_task()
    sched/core: Fix incorrect utilization accounting when switching to fair class
    sched/core: Optimize SCHED_SMT
    sched/core: Rewrite and improve select_idle_siblings()
    sched/core: Replace sd_busy/nr_busy_cpus with sched_domain_shared
    sched/core: Introduce 'struct sched_domain_shared'
    sched/core: Restructure destroy_sched_domain()
    sched/core: Remove unused @cpu argument from destroy_sched_domain*()
    sched/wait: Introduce init_wait_entry()
    sched/wait: Avoid abort_exclusive_wait() in __wait_on_bit_lock()
    sched/wait: Avoid abort_exclusive_wait() in ___wait_event()
    ...

    Linus Torvalds
     
  • Pull RAS updates from Ingo Molnar:
    "The main changes were:

    - Lots of enhancements for AMD SMCA (Scalable MCA
    features/extensions) systems: extract, decode and print more
    hardware error information and add matching support on the
    injection/testing side as well. (Yazn Ghannam)

    - Various MCE handling improvements on modern Intel Xeons. (Tony
    Luck)

    - Plus misc fixes and enhancements"

    * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (21 commits)
    x86/RAS/mce_amd_inj: Remove debugfs dir recursively on exit
    x86/RAS/mce_amd_inj: Fix signed wrap around when decrementing index 'i'
    x86/RAS/mce_amd_inj: Fix some W= warnings
    x86/MCE/AMD, EDAC: Handle reserved bank 4 on Fam17h properly
    x86/mce/AMD: Extract the error address on SMCA systems
    x86/mce, EDAC/mce_amd: Print MCA_SYND and MCA_IPID during MCE on SMCA systems
    x86/mce/AMD: Save MCA_IPID in MCE struct on SMCA systems
    x86/mce/AMD: Ensure the deferred error interrupt is of type APIC on SMCA systems
    x86/mce/AMD: Update sysfs bank names for SMCA systems
    x86/mce/AMD, EDAC/mce_amd: Define and use tables for known SMCA IP types
    EDAC/mce_amd: Use SMCA prefix for error descriptions arrays
    EDAC/mce_amd: Add missing SMCA error descriptions
    x86/mce/AMD: Read MSRs on the CPU allocating the threshold blocks
    x86/RAS: Add syndrome support to mce_amd_inj
    EDAC/mce_amd: Print syndrome register value on SMCA systems
    x86/mce: Add support for new MCA_SYND register
    x86/mce/AMD: Use msr_ops.misc() in allocate_threshold_blocks()
    x86/mce: Drop X86_FEATURE_MCE_RECOVERY and the related model string test
    x86/mce: Improve memcpy_mcsafe()
    x86/mce: Add PCI quirks to identify Xeons with machine check recovery
    ...

    Linus Torvalds
     
  • Pull perf updates from Ingo Molnar:
    "The main kernel side changes were:

    - uprobes enhancements (Masami Hiramatsu)

    - Uncore group events enhancements (David Carrillo-Cisneros)

    - x86 Intel: Add support for Skylake server uncore PMUs (Kan Liang)

    - x86 Intel: LBR cleanups and enhancements, for better branch
    annotation tracking (Peter Zijlstra)

    - x86 Intel: Add support for PTWRITE and power event tracing
    (Alexander Shishkin)

    - ... various fixes, cleanups and smaller enhancements.

    Lots of tooling changes - a couple of highlights:

    - Support event group view with hierarchy mode in 'perf top' and
    'perf report' (Namhyung Kim)

    e.g.:

    $ perf record -e '{cycles,instructions}' make
    $ perf report --hierarchy --stdio
    ...
    # Overhead Command / Shared Object / Symbol
    # ...................... ..................................
    ...
    25.74% 27.18%sh
    19.96% 24.14%libc-2.24.so
    9.55% 14.64%[.] __strcmp_sse2
    1.54% 0.00%[.] __tfind
    1.07% 1.13%[.] _int_malloc
    0.95% 0.00%[.] __strchr_sse2
    0.89% 1.39%[.] __tsearch
    0.76% 0.00%[.] strlen

    - Add branch stack / basic block info to 'perf annotate --stdio',
    where for each branch, we add an asm comment after the instruction
    with information on how often it was taken and predicted. See
    example with color output at:

    http://vger.kernel.org/~acme/perf/annotate_basic_blocks.png

    (Peter Zijlstra)

    - Add support for using symbols in address filters with Intel PT and
    ARM CoreSight (hardware assisted tracing facilities) (Adrian
    Hunter, Mathieu Poirier)

    - Add support for interacting with Coresight PMU ETMs/PTMs, that are
    IP blocks to perform hardware assisted tracing on a ARM CPU core
    (Mathieu Poirier)

    - Support generating cross arch probes, i.e. if you specify a vmlinux
    file for different arch than the one in the host machine,

    $ perf probe --definition function_name args

    will generate the probe definition string needed to append to the
    target machine /sys/kernel/debug/tracing/kprobes_events file, using
    scripting (Masami Hiramatsu).

    - Allow configuring the default 'perf report -s' sort order in
    ~/.perfconfig, for instance, "sym,dso" may be more fitting for
    kernel developers. (Arnaldo Carvalho de Melo)

    - ... plus lots of other changes, refactorings, features and fixes"

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (149 commits)
    perf tests: Add dwarf unwind test for powerpc
    perf probe: Match linkage name with mangled name
    perf probe: Fix to cut off incompatible chars from group name
    perf probe: Skip if the function address is 0
    perf probe: Ignore the error of finding inline instance
    perf intel-pt: Fix decoding when there are address filters
    perf intel-pt: Enable decoder to handle TIP.PGD with missing IP
    perf intel-pt: Read address filter from AUXTRACE_INFO event
    perf intel-pt: Record address filter in AUXTRACE_INFO event
    perf intel-pt: Add a helper function for processing AUXTRACE_INFO
    perf intel-pt: Fix missing error codes processing auxtrace_info
    perf intel-pt: Add support for recording the max non-turbo ratio
    perf intel-pt: Fix snapshot overlap detection decoder errors
    perf probe: Increase debug level of SDT debug messages
    perf record: Add support for using symbols in address filters
    perf symbols: Add dso__last_symbol()
    perf record: Fix error paths
    perf record: Rename label 'out_symbol_exit'
    perf script: Fix vanished idle symbols
    perf evsel: Add support for address filters
    ...

    Linus Torvalds
     
  • Pull locking updates from Ingo Molnar:
    "The main changes in this cycle were:

    - rwsem micro-optimizations (Davidlohr Bueso)

    - Improve the implementation and optimize the performance of
    percpu-rwsems. (Peter Zijlstra.)

    - Convert all lglock users to better facilities such as percpu-rwsems
    or percpu-spinlocks and remove lglocks. (Peter Zijlstra)

    - Remove the ticket (spin)lock implementation. (Peter Zijlstra)

    - Korean translation of memory-barriers.txt and related fixes to the
    English document. (SeongJae Park)

    - misc fixes and cleanups"

    * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
    x86/cmpxchg, locking/atomics: Remove superfluous definitions
    x86, locking/spinlocks: Remove ticket (spin)lock implementation
    locking/lglock: Remove lglock implementation
    stop_machine: Remove stop_cpus_lock and lg_double_lock/unlock()
    fs/locks: Use percpu_down_read_preempt_disable()
    locking/percpu-rwsem: Add down_read_preempt_disable()
    fs/locks: Replace lg_local with a per-cpu spinlock
    fs/locks: Replace lg_global with a percpu-rwsem
    locking/percpu-rwsem: Add DEFINE_STATIC_PERCPU_RWSEMand percpu_rwsem_assert_held()
    locking/pv-qspinlock: Use cmpxchg_release() in __pv_queued_spin_unlock()
    locking/rwsem, x86: Drop a bogus cc clobber
    futex: Add some more function commentry
    locking/hung_task: Show all locks
    locking/rwsem: Scan the wait_list for readers only once
    locking/rwsem: Remove a few useless comments
    locking/rwsem: Return void in __rwsem_mark_wake()
    locking, rcu, cgroup: Avoid synchronize_sched() in __cgroup_procs_write()
    locking/Documentation: Add Korean translation
    locking/Documentation: Fix a typo of example result
    locking/Documentation: Fix wrong section reference
    ...

    Linus Torvalds
     
  • Pull EFI updates from Ingo Molnar:
    "Main changes in this cycle were:

    - Refactor the EFI memory map code into architecture neutral files
    and allow drivers to permanently reserve EFI boot services regions
    on x86, as well as ARM/arm64. (Matt Fleming)

    - Add ARM support for the EFI ESRT driver. (Ard Biesheuvel)

    - Make the EFI runtime services and efivar API interruptible by
    swapping spinlocks for semaphores. (Sylvain Chouleur)

    - Provide the EFI identity mapping for kexec which allows kexec to
    work on SGI/UV platforms with requiring the "noefi" kernel command
    line parameter. (Alex Thorlton)

    - Add debugfs node to dump EFI page tables on arm64. (Ard Biesheuvel)

    - Merge the EFI test driver being carried out of tree until now in
    the FWTS project. (Ivan Hu)

    - Expand the list of flags for classifying EFI regions as "RAM" on
    arm64 so we align with the UEFI spec. (Ard Biesheuvel)

    - Optimise out the EFI mixed mode if it's unsupported (CONFIG_X86_32)
    or disabled (CONFIG_EFI_MIXED=n) and switch the early EFI boot
    services function table for direct calls, alleviating us from
    having to maintain the custom function table. (Lukas Wunner)

    - Miscellaneous cleanups and fixes"

    * 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (30 commits)
    x86/efi: Round EFI memmap reservations to EFI_PAGE_SIZE
    x86/efi: Allow invocation of arbitrary boot services
    x86/efi: Optimize away setup_gop32/64 if unused
    x86/efi: Use kmalloc_array() in efi_call_phys_prolog()
    efi/arm64: Treat regions with WT/WC set but WB cleared as memory
    efi: Add efi_test driver for exporting UEFI runtime service interfaces
    x86/efi: Defer efi_esrt_init until after memblock_x86_fill
    efi/arm64: Add debugfs node to dump UEFI runtime page tables
    x86/efi: Remove unused find_bits() function
    fs/efivarfs: Fix double kfree() in error path
    x86/efi: Map in physical addresses in efi_map_region_fixed
    lib/ucs2_string: Speed up ucs2_utf8size()
    firmware-gsmi: Delete an unnecessary check before the function call "dma_pool_destroy"
    x86/efi: Initialize status to ensure garbage is not returned on small size
    efi: Replace runtime services spinlock with semaphore
    efi: Don't use spinlocks for efi vars
    efi: Use a file local lock for efivars
    efi/arm*: esrt: Add missing call to efi_esrt_init()
    efi/esrt: Use memremap not ioremap to access ESRT table in memory
    x86/efi-bgrt: Use efi_mem_reserve() to avoid copying image data
    ...

    Linus Torvalds
     
  • Pull core SMP updates from Ingo Molnar:
    "Two main change is generic vCPU pinning and physical CPU SMP-call
    support, for Xen to be able to perform certain calls on specific
    physical CPUs - by Juergen Gross"

    * 'core-smp-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    smp: Allocate smp_call_on_cpu() workqueue on stack too
    hwmon: Use smp_call_on_cpu() for dell-smm i8k
    dcdbas: Make use of smp_call_on_cpu()
    xen: Add xen_pin_vcpu() to support calling functions on a dedicated pCPU
    smp: Add function to execute a function synchronously on a CPU
    virt, sched: Add generic vCPU pinning support
    xen: Sync xen header

    Linus Torvalds
     
  • Pull RCU updates from Ingo Molnar:
    "The main changes in this cycle were:

    - Expedited grace-period changes, most notably avoiding having user
    threads drive expedited grace periods, using a workqueue instead.

    - Miscellaneous fixes, including a performance fix for lists that was
    sent with the lists modifications.

    - CPU hotplug updates, most notably providing exact CPU-online
    tracking for RCU. This will in turn allow removal of the checks
    supporting RCU's prior heuristic that was based on the assumption
    that CPUs would take no longer than one jiffy to come online.

    - Torture-test updates.

    - Documentation updates"

    * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
    list: Expand list_first_entry_or_null()
    torture: TOROUT_STRING(): Insert a space between flag and message
    rcuperf: Consistently insert space between flag and message
    rcutorture: Print out barrier error as document says
    torture: Add task state to writer-task stall printk()s
    torture: Convert torture_shutdown() to hrtimer
    rcutorture: Convert to hotplug state machine
    cpu/hotplug: Get rid of CPU_STARTING reference
    rcu: Provide exact CPU-online tracking for RCU
    rcu: Avoid redundant quiescent-state chasing
    rcu: Don't use modular infrastructure in non-modular code
    sched: Make wake_up_nohz_cpu() handle CPUs going offline
    rcu: Use rcu_gp_kthread_wake() to wake up grace period kthreads
    rcu: Use RCU's online-CPU state for expedited IPI retry
    rcu: Exclude RCU-offline CPUs from expedited grace periods
    rcu: Make expedited RCU CPU stall warnings respond to controls
    rcu: Stop disabling expedited RCU CPU stall warnings
    rcu: Drive expedited grace periods from workqueue
    rcu: Consolidate expedited grace period machinery
    documentation: Record reason for rcu_head two-byte alignment
    ...

    Linus Torvalds
     
  • Pull PNP update from Rafael Wysocki:
    "This makes more PNP core code explicitly non-modular (Paul Gortmaker)"

    * tag 'pnp-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    PNP: isapnp: make core more explicitly non-modular

    Linus Torvalds