1. 12 Sep, 2016 1 commit
    • Sagi Grimberg's avatar
      nvme-rdma: add DELETING queue flag · e89ca58f
      Sagi Grimberg authored
      When we get a surprise disconnect from the target we queue a periodic
      reconnect (which is the sane thing to do...).
      
      We only move the queues out of CONNECTED when we retry to reconnect (after
      10 seconds in the default case) but we stop the blk queues immediately
      so we are not bothered with traffic from now on. If delete() is kicking
      off in this period the queues are still in CONNECTED state.
      
      Part of the delete sequence is trying to issue ctrl shutdown if the
      admin queue is CONNECTED (which it is!). This request is issued but
      stuck in blk-mq waiting for the queues to start again. This might be
      the one preventing us from forward progress...
      
      The patch separates the queue flags to CONNECTED and DELETING. Now we
      will move out of CONNECTED as soon as error recovery kicks in (before
      stopping the queues) and DELETING is on when we start the queue deletion.
      Signed-off-by: 's avatarSagi Grimberg <sagi@grimberg.me>
      e89ca58f
  2. 04 Sep, 2016 4 commits
  3. 28 Aug, 2016 2 commits
  4. 19 Aug, 2016 3 commits
  5. 18 Aug, 2016 4 commits
  6. 16 Aug, 2016 2 commits
  7. 04 Aug, 2016 5 commits
  8. 03 Aug, 2016 7 commits
  9. 31 Jul, 2016 4 commits
    • Linus Torvalds's avatar
      Merge tag 'mmc-v4.8' of git://git.linaro.org/people/ulf.hansson/mmc · 07f00f06
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
       "MMC core:
         - A couple of changes to improve the support for erase/discard/trim cmds
         - Add eMMC HS400 enhanced strobe support
         - Show OCR and DSR registers in SYSFS for MMC/SD cards
         - Correct and improve busy detection logic for MMC switch (CMD6) cmds
         - Disable HPI cmds for certain broken Hynix eMMC cards
         - Allow MMC hosts to specify non-support for SD and MMC cmds
         - Some minor additional fixes
      
        MMC host:
         - sdhci: Re-works, fixes and clean-ups
         - sdhci: Add HW auto re-tuning support
         - sdhci: Re-factor code to prepare for adding support for eMMC CMDQ
         - sdhci-esdhc-imx: Fixes and clean-ups
         - sdhci-esdhc-imx: Update system PM support
         - sdhci-esdhc-imx: Enable HW auto re-tuning
         - sdhci-bcm2835: Remove driver as sdhci-iproc is used instead
         - sdhci-brcmstb: Add new driver for Broadcom BRCMSTB SoCs
         - sdhci-msm: Add support for UHS cards
         - sdhci-tegra: Improve support for UHS cards
         - sdhci-of-arasan: Update phy support for Rockchip SoCs
         - sdhci-of-arasan: Deploy enhanced strobe support
         - dw_mmc: Some fixes and clean-ups
         - dw_mmc: Enable support for erase/discard/trim cmds
         - dw_mmc: Enable CMD23 support
         - mediatek: Some fixes related to the eMMC HS400 support
         - sh_mmcif: Improve support for HW busy detection
         - rtsx_pci: Enable support for erase/discard/trim cmds"
      
      * tag 'mmc-v4.8' of git://git.linaro.org/people/ulf.hansson/mmc: (135 commits)
        mmc: rtsx_pci: Remove deprecated create_singlethread_workqueue
        mmc: rtsx_pci: Enable MMC_CAP_ERASE to allow erase/discard/trim requests
        mmc: rtsx_pci: Use the provided busy timeout from the mmc core
        mmc: sdhci-pltfm: Drop define for SDHCI_PLTFM_PMOPS
        mmc: sdhci-pltfm: Convert to use the SET_SYSTEM_SLEEP_PM_OPS
        mmc: sdhci-pltfm: Make sdhci_pltfm_suspend|resume() static
        mmc: sdhci-esdhc-imx: Use common sdhci_suspend|resume_host()
        mmc: sdhci-esdhc-imx: Assign system PM ops within #ifdef CONFIG_PM_SLEEP
        mmc: sdhci-sirf: Remove non needed #ifdef CONFIG_PM* for dev_pm_ops
        mmc: sdhci-s3c: Remove non needed #ifdef CONFIG_PM for dev_pm_ops
        mmc: sdhci-pxav3: Remove non needed #ifdef CONFIG_PM for dev_pm_ops
        mmc: sdhci-of-esdhc: Simplify code by using SIMPLE_DEV_PM_OPS
        mmc: sdhci-acpi: Simplify code by using SET_SYSTEM_SLEEP_PM_OPS
        mmc: sdhci-pci-core: Simplify code by using SET_SYSTEM_SLEEP_PM_OPS
        mmc: Change the max discard sectors and erase response when HW busy detect
        phy: rockchip-emmc: Wait even longer for the DLL to lock
        phy: rockchip-emmc: Be tolerant to card clock of 0 in power on
        mmc: sdhci-of-arasan: Revert: Always power the PHY off/on when clock changes
        mmc: sdhci-msm: Add support for UHS cards
        mmc: sdhci-msm: Add set_uhs_signaling() implementation
        ...
      07f00f06
    • Linus Torvalds's avatar
      Merge git://www.linux-watchdog.org/linux-watchdog · 27acbec3
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
       "Core:
         - min and max timeout improvements, WDOG_HW_RUNNING improvements,
           status funtionality
         - Add a device managed API for watchdog_register_device()
      
        New watchdog drivers:
         -  Aspeed SoCs
         -  Maxim PMIC MAX77620
         -  Amlogic Meson GXBB SoC
      
        Enhancements:
         - support for the r8a7796 watchdog device
         - support for F81866 watchdog device
         - support for 5th variation of Apollo Lake
         - support for MCP78S chipset
         - clean-up of softdog.c watchdog device driver
         - pic32-wdt and pic32-dmt fixes
         - Documentation/watchdog: watchdog-test improvements
         - several other fixes and improvements"
      
      * git://www.linux-watchdog.org/linux-watchdog: (50 commits)
        watchdog: gpio_wdt: Fix missing platform_set_drvdata() in gpio_wdt_probe()
        watchdog: core: Clear WDOG_HW_RUNNING before calling the stop function
        watchdog: core: Fix error handling of watchdog_dev_init()
        watchdog: pic32-wdt: Fix return value check in pic32_wdt_drv_probe()
        watchdog: pic32-dmt: Remove .owner field for driver
        watchdog: pic32-wdt: Remove .owner field for driver
        watchdog: renesas-wdt: Add support for the r8a7796 wdt
        Documentation/watchdog: check return value for magic close
        watchdog: sbsa: Drop status function
        watchdog: Implement status function in watchdog core
        watchdog: tangox: Set max_hw_heartbeat_ms instead of max_timeout
        watchdog: change watchdog_need_worker logic
        watchdog: add support for MCP78S chipset in nv_tco
        watchdog: bcm2835_wdt: remove redundant ->set_timeout callback
        watchdog: bcm2835_wdt: constify _ops and _info structures
        dt-bindings: watchdog: Add Meson GXBB Watchdog bindings
        watchdog: Add Meson GXBB Watchdog Driver
        watchdog: qcom: configure BARK time in addition to BITE time
        watchdog: qcom: add option for standalone watchdog not in timer block
        watchdog: qcom: update device tree bindings
        ...
      27acbec3
    • Linus Torvalds's avatar
      Merge branch 'for-linus-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · ba929b66
      Linus Torvalds authored
      Pull btrfs updates from Chris Mason:
       "This pull is dedicated to Josef's enospc rework, which we've been
        testing for a few releases now.  It fixes some early enospc problems
        and is dramatically faster.
      
        This also includes an updated fix for the delalloc accounting that
        happens after a fault in copy_from_user.  My patch in v4.7 was almost
        but not quite enough"
      
      * 'for-linus-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Btrfs: fix delalloc accounting after copy_from_user faults
        Btrfs: avoid deadlocks during reservations in btrfs_truncate_block
        Btrfs: use FLUSH_LIMIT for relocation in reserve_metadata_bytes
        Btrfs: fill relocation block rsv after allocation
        Btrfs: always use trans->block_rsv for orphans
        Btrfs: change how we calculate the global block rsv
        Btrfs: use root when checking need_async_flush
        Btrfs: don't bother kicking async if there's nothing to reclaim
        Btrfs: fix release reserved extents trace points
        Btrfs: add fsid to some tracepoints
        Btrfs: add tracepoints for flush events
        Btrfs: fix delalloc reservation amount tracepoint
        Btrfs: trace pinned extents
        Btrfs: introduce ticketed enospc infrastructure
        Btrfs: add tracepoint for adding block groups
        Btrfs: warn_on for unaccounted spaces
        Btrfs: change delayed reservation fallback behavior
        Btrfs: always reserve metadata for delalloc extents
        Btrfs: fix callers of btrfs_block_rsv_migrate
        Btrfs: add bytes_readonly to the spaceinfo at once
      ba929b66
    • Linus Torvalds's avatar
      Merge tag 'sound-4.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · c9b95e59
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "The majority of this update is about ASoC, including a few new
        drivers, and the rest are mostly minor changes.  The only substantial
        change in ALSA core is about the additional error handling in the
        compress-offload API.  Below are highlights:
      
         - Add the error propagating support in compress-offload API
      
         - HD-audio: a usual Dell headset fixup, an Intel HDMI/DP fix, and the
           default mixer setup change ot turn off the loopback
      
         - Lots of updates for ASoC Intel drivers, mostly board support and
           bug fixing, and to the NAU8825 driver
      
         - Work on generalizing bits of simple-card to allow more code sharing
           with the Renesas rsrc-card (which can't use simple-card due to DPCM)
      
         - Removal of the Odroid X2 driver due to replacement with simple-card
      
         - Support for several new Mediatek platforms and associated boards
      
         - New ASoC drivers for Allwinner A10, Analog Devices ADAU7002,
           Broadcom Cygnus, Cirrus Logic CS35L33 and CS53L30, Maxim MAX8960
           and MAX98504, Realtek RT5514 and Wolfson WM8758"
      
      * tag 'sound-4.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (278 commits)
        sound: oss: Use kernel_read_file_from_path() for mod_firmware_load()
        ASoC: Intel: Skylake: Delete an unnecessary check before the function call "release_firmware"
        ASoC: Intel: Skylake: Fix NULL Pointer exception in dynamic_debug.
        ASoC: samsung: Specify DMA channels through struct snd_dmaengine_pcm_config
        ASoC: samsung: Fix error paths in the I2S driver's probe()
        ASoC: cs53l30: Fix bit shift issue of TDM mode
        ASoC: cs53l30: Fix a bug for TDM slot location validation
        ASoC: rockchip: correct the spdif clk
        ALSA: echoaudio: purge contradictions between dimension matrix members and total number of members
        ASoC: rsrc-card: use asoc_simple_card_parse_card_name()
        ASoC: rsrc-card: use asoc_simple_dai instead of rsrc_card_dai
        ASoC: rsrc-card: use asoc_simple_card_parse_dailink_name()
        ASoC: simple-card: use asoc_simple_card_parse_card_name()
        ASoC: simple-card-utils: add asoc_simple_card_parse_card_name()
        ASoC: simple-card: use asoc_simple_card_parse_dailink_name()
        ASoC: simple-card-utils: add asoc_simple_card_set_dailink_name()
        ASoC: nau8825: drop redundant idiom when converting integer to boolean
        ASoC: nau8825: jack connection decision with different insertion logic
        ASoC: mediatek: Add HDMI dai-links to the mt8173-rt5650 machine driver
        ASoC: mediatek: mt2701: fix non static symbol warning
        ...
      c9b95e59
  10. 30 Jul, 2016 8 commits
    • Linus Torvalds's avatar
      Merge tag 'powerpc-4.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · bad60e6f
      Linus Torvalds authored
      Pull powerpc updates from Michael Ellerman:
       "Highlights:
         - PowerNV PCI hotplug support.
         - Lots more Power9 support.
         - eBPF JIT support on ppc64le.
         - Lots of cxl updates.
         - Boot code consolidation.
      
        Bug fixes:
         - Fix spin_unlock_wait() from Boqun Feng
         - Fix stack pointer corruption in __tm_recheckpoint() from Michael
           Neuling
         - Fix multiple bugs in memory_hotplug_max() from Bharata B Rao
         - mm: Ensure "special" zones are empty from Oliver O'Halloran
         - ftrace: Separate the heuristics for checking call sites from
           Michael Ellerman
         - modules: Never restore r2 for a mprofile-kernel style mcount() call
           from Michael Ellerman
         - Fix endianness when reading TCEs from Alexey Kardashevskiy
         - start rtasd before PCI probing from Greg Kurz
         - PCI: rpaphp: Fix slot registration for multiple slots under a PHB
           from Tyrel Datwyler
         - powerpc/mm: Add memory barrier in __hugepte_alloc() from Sukadev
           Bhattiprolu
      
        Cleanups & fixes:
         - Drop support for MPIC in pseries from Rashmica Gupta
         - Define and use PPC64_ELF_ABI_v2/v1 from Michael Ellerman
         - Remove unused symbols in asm-offsets.c from Rashmica Gupta
         - Fix SRIOV not building without EEH enabled from Russell Currey
         - Remove kretprobe_trampoline_holder from Thiago Jung Bauermann
         - Reduce log level of PCI I/O space warning from Benjamin
           Herrenschmidt
         - Add array bounds checking to crash_shutdown_handlers from Suraj
           Jitindar Singh
         - Avoid -maltivec when using clang integrated assembler from Anton
           Blanchard
         - Fix array overrun in ppc_rtas() syscall from Andrew Donnellan
         - Fix error return value in cmm_mem_going_offline() from Rasmus
           Villemoes
         - export cpu_to_core_id() from Mauricio Faria de Oliveira
         - Remove old symbols from defconfigs from Andrew Donnellan
         - Update obsolete comments in setup_32.c about entry conditions from
           Benjamin Herrenschmidt
         - Add comment explaining the purpose of setup_kdump_trampoline() from
           Benjamin Herrenschmidt
         - Merge the RELOCATABLE config entries for ppc32 and ppc64 from Kevin
           Hao
         - Remove RELOCATABLE_PPC32 from Kevin Hao
         - Fix .long's in tlb-radix.c to more meaningful from Balbir Singh
      
        Minor cleanups & fixes:
         - Andrew Donnellan, Anna-Maria Gleixner, Anton Blanchard, Benjamin
           Herrenschmidt, Bharata B Rao, Christophe Leroy, Colin Ian King,
           Geliang Tang, Greg Kurz, Madhavan Srinivasan, Michael Ellerman,
           Michael Ellerman, Stephen Rothwell, Stewart Smith.
      
        Freescale updates from Scott:
         - "Highlights include more 8xx optimizations, device tree updates,
           and MVME7100 support."
      
        PowerNV PCI hotplug from Gavin Shan:
         - PCI: Add pcibios_setup_bridge()
         - Override pcibios_setup_bridge()
         - Remove PCI_RESET_DELAY_US
         - Move pnv_pci_ioda_setup_opal_tce_kill() around
         - Increase PE# capacity
         - Allocate PE# in reverse order
         - Create PEs in pcibios_setup_bridge()
         - Setup PE for root bus
         - Extend PCI bridge resources
         - Make pnv_ioda_deconfigure_pe() visible
         - Dynamically release PE
         - Update bridge windows on PCI plug
         - Delay populating pdn
         - Support PCI slot ID
         - Use PCI slot reset infrastructure
         - Introduce pnv_pci_get_slot_id()
         - Functions to get/set PCI slot state
         - PCI/hotplug: PowerPC PowerNV PCI hotplug driver
         - Print correct PHB type names
      
        Power9 idle support from Shreyas B. Prabhu:
         - set power_save func after the idle states are initialized
         - Use PNV_THREAD_WINKLE macro while requesting for winkle
         - make hypervisor state restore a function
         - Rename idle_power7.S to idle_book3s.S
         - Rename reusable idle functions to hardware agnostic names
         - Make pnv_powersave_common more generic
         - abstraction for saving SPRs before entering deep idle states
         - Add platform support for stop instruction
         - cpuidle/powernv: Use CPUIDLE_STATE_MAX instead of MAX_POWERNV_IDLE_STATES
         - cpuidle/powernv: cleanup cpuidle-powernv.c
         - cpuidle/powernv: Add support for POWER ISA v3 idle states
         - Use deepest stop state when cpu is offlined
      
        Power9 PMU from Madhavan Srinivasan:
         - factor out power8 pmu macros and defines
         - factor out power8 pmu functions
         - factor out power8 __init_pmu code
         - Add power9 event list macros for generic and cache events
         - Power9 PMU support
         - Export Power9 generic and cache events to sysfs
      
        Power9 preliminary interrupt & PCI support from Benjamin Herrenschmidt:
         - Add XICS emulation APIs
         - Move a few exception common handlers to make room
         - Add support for HV virtualization interrupts
         - Add mechanism to force a replay of interrupts
         - Add ICP OPAL backend
         - Discover IODA3 PHBs
         - pci: Remove obsolete SW invalidate
         - opal: Add real mode call wrappers
         - Rename TCE invalidation calls
         - Remove SWINV constants and obsolete TCE code
         - Rework accessing the TCE invalidate register
         - Fallback to OPAL for TCE invalidations
         - Use the device-tree to get available range of M64's
         - Check status of a PHB before using it
         - pci: Don't try to allocate resources that will be reassigned
      
        Other Power9:
         - Send SIGBUS on unaligned copy and paste from Chris Smart
         - Large Decrementer support from Oliver O'Halloran
         - Load Monitor Register Support from Jack Miller
      
        Performance improvements from Anton Blanchard:
         - Avoid load hit store in __giveup_fpu() and __giveup_altivec()
         - Avoid load hit store in setup_sigcontext()
         - Remove assembly versions of strcpy, strcat, strlen and strcmp
         - Align hot loops of some string functions
      
        eBPF JIT from Naveen N. Rao:
         - Fix/enhance 32-bit Load Immediate implementation
         - Optimize 64-bit Immediate loads
         - Introduce rotate immediate instructions
         - A few cleanups
         - Isolate classic BPF JIT specifics into a separate header
         - Implement JIT compiler for extended BPF
      
        Operator Panel driver from Suraj Jitindar Singh:
         - devicetree/bindings: Add binding for operator panel on FSP machines
         - Add inline function to get rc from an ASYNC_COMP opal_msg
         - Add driver for operator panel on FSP machines
      
        Sparse fixes from Daniel Axtens:
         - make some things static
         - Introduce asm-prototypes.h
         - Include headers containing prototypes
         - Use #ifdef __BIG_ENDIAN__ #else for REG_BYTE
         - kvm: Clarify __user annotations
         - Pass endianness to sparse
         - Make ppc_md.{halt, restart} __noreturn
      
        MM fixes & cleanups from Aneesh Kumar K.V:
         - radix: Update LPCR HR bit as per ISA
         - use _raw variant of page table accessors
         - Compile out radix related functions if RADIX_MMU is disabled
         - Clear top 16 bits of va only on older cpus
         - Print formation regarding the the MMU mode
         - hash: Update SDR1 size encoding as documented in ISA 3.0
         - radix: Update PID switch sequence
         - radix: Update machine call back to support new HCALL.
         - radix: Add LPID based tlb flush helpers
         - radix: Add a kernel command line to disable radix
         - Cleanup LPCR defines
      
        Boot code consolidation from Benjamin Herrenschmidt:
         - Move epapr_paravirt_early_init() to early_init_devtree()
         - cell: Don't use flat device-tree after boot
         - ge_imp3a: Don't use the flat device-tree after boot
         - mpc85xx_ds: Don't use the flat device-tree after boot
         - mpc85xx_rdb: Don't use the flat device-tree after boot
         - Don't test for machine type in rtas_initialize()
         - Don't test for machine type in smp_setup_cpu_maps()
         - dt: Add of_device_compatible_match()
         - Factor do_feature_fixup calls
         - Move 64-bit feature fixup earlier
         - Move 64-bit memory reserves to setup_arch()
         - Use a cachable DART
         - Move FW feature probing out of pseries probe()
         - Put exception configuration in a common place
         - Remove early allocation of the SMU command buffer
         - Move MMU backend selection out of platform code
         - pasemi: Remove IOBMAP allocation from platform probe()
         - mm/hash: Don't use machine_is() early during boot
         - Don't test for machine type to detect HEA special case
         - pmac: Remove spurrious machine type test
         - Move hash table ops to a separate structure
         - Ensure that ppc_md is empty before probing for machine type
         - Move 64-bit probe_machine() to later in the boot process
         - Move 32-bit probe() machine to later in the boot process
         - Get rid of ppc_md.init_early()
         - Move the boot time info banner to a separate function
         - Move setting of {i,d}cache_bsize to initialize_cache_info()
         - Move the content of setup_system() to setup_arch()
         - Move cache info inits to a separate function
         - Re-order the call to smp_setup_cpu_maps()
         - Re-order setup_panic()
         - Make a few boot functions __init
         - Merge 32-bit and 64-bit setup_arch()
      
        Other new features:
         - tty/hvc: Use IRQF_SHARED for OPAL hvc consoles from Sam Mendoza-Jonas
         - tty/hvc: Use opal irqchip interface if available from Sam Mendoza-Jonas
         - powerpc: Add module autoloading based on CPU features from Alastair D'Silva
         - crypto: vmx - Convert to CPU feature based module autoloading from Alastair D'Silva
         - Wake up kopald polling thread before waiting for events from Benjamin Herrenschmidt
         - xmon: Dump ISA 2.06 SPRs from Michael Ellerman
         - xmon: Dump ISA 2.07 SPRs from Michael Ellerman
         - Add a parameter to disable 1TB segs from Oliver O'Halloran
         - powerpc/boot: Add OPAL console to epapr wrappers from Oliver O'Halloran
         - Assign fixed PHB number based on device-tree properties from Guilherme G. Piccoli
         - pseries: Add pseries hotplug workqueue from John Allen
         - pseries: Add support for hotplug interrupt source from John Allen
         - pseries: Use kernel hotplug queue for PowerVM hotplug events from John Allen
         - pseries: Move property cloning into its own routine from Nathan Fontenot
         - pseries: Dynamic add entires to associativity lookup array from Nathan Fontenot
         - pseries: Auto-online hotplugged memory from Nathan Fontenot
         - pseries: Remove call to memblock_add() from Nathan Fontenot
      
        cxl:
         - Add set and get private data to context struct from Michael Neuling
         - make base more explicitly non-modular from Paul Gortmaker
         - Use for_each_compatible_node() macro from Wei Yongjun
         - Frederic Barrat
         - Abstract the differences between the PSL and XSL
         - Make vPHB device node match adapter's
         - Philippe Bergheaud
         - Add mechanism for delivering AFU driver specific events
         - Ignore CAPI adapters misplaced in switched slots
         - Refine slice error debug messages
         - Andrew Donnellan
         - static-ify variables to fix sparse warnings
         - PCI/hotplug: pnv_php: export symbols and move struct types needed by cxl
         - PCI/hotplug: pnv_php: handle OPAL_PCI_SLOT_OFFLINE power state
         - Add cxl_check_and_switch_mode() API to switch bi-modal cards
         - remove dead Kconfig options
         - fix potential NULL dereference in free_adapter()
         - Ian Munsie
         - Update process element after allocating interrupts
         - Add support for CAPP DMA mode
         - Fix allowing bogus AFU descriptors with 0 maximum processes
         - Fix allocating a minimum of 2 pages for the SPA
         - Fix bug where AFU disable operation had no effect
         - Workaround XSL bug that does not clear the RA bit after a reset
         - Fix NULL pointer dereference on kernel contexts with no AFU interrupts
         - powerpc/powernv: Split cxl code out into a separate file
         - Add cxl_slot_is_supported API
         - Enable bus mastering for devices using CAPP DMA mode
         - Move cxl_afu_get / cxl_afu_put to base
         - Allow a default context to be associated with an external pci_dev
         - Do not create vPHB if there are no AFU configuration records
         - powerpc/powernv: Add support for the cxl kernel api on the real phb
         - Add support for using the kernel API with a real PHB
         - Add kernel APIs to get & set the max irqs per context
         - Add preliminary workaround for CX4 interrupt limitation
         - Add support for interrupts on the Mellanox CX4
         - Workaround PE=0 hardware limitation in Mellanox CX4
         - powerpc/powernv: Fix pci-cxl.c build when CONFIG_MODULES=n
      
        selftests:
         - Test unaligned copy and paste from Chris Smart
         - Load Monitor Register Tests from Jack Miller
         - Cyril Bur
         - exec() with suspended transaction
         - Use signed long to read perf_event_paranoid
         - Fix usage message in context_switch
         - Fix generation of vector instructions/types in context_switch
         - Michael Ellerman
         - Use "Delta" rather than "Error" in normal output
         - Import Anton's mmap & futex micro benchmarks
         - Add a test for PROT_SAO"
      
      * tag 'powerpc-4.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (263 commits)
        powerpc/mm: Parenthesise IS_ENABLED() in if condition
        tty/hvc: Use opal irqchip interface if available
        tty/hvc: Use IRQF_SHARED for OPAL hvc consoles
        selftests/powerpc: exec() with suspended transaction
        powerpc: Improve comment explaining why we modify VRSAVE
        powerpc/mm: Drop unused externs for hpte_init_beat[_v3]()
        powerpc/mm: Rename hpte_init_lpar() and move the fallback to a header
        powerpc/mm: Fix build break when PPC_NATIVE=n
        crypto: vmx - Convert to CPU feature based module autoloading
        powerpc: Add module autoloading based on CPU features
        powerpc/powernv/ioda: Fix endianness when reading TCEs
        powerpc/mm: Add memory barrier in __hugepte_alloc()
        powerpc/modules: Never restore r2 for a mprofile-kernel style mcount() call
        powerpc/ftrace: Separate the heuristics for checking call sites
        powerpc: Merge 32-bit and 64-bit setup_arch()
        powerpc/64: Make a few boot functions __init
        powerpc: Re-order setup_panic()
        powerpc: Re-order the call to smp_setup_cpu_maps()
        powerpc/32: Move cache info inits to a separate function
        powerpc/64: Move the content of setup_system() to setup_arch()
        ...
      bad60e6f
    • Michael Ellerman's avatar
      random: Fix crashes with sparse node ids · dd0f0cf5
      Michael Ellerman authored
      On a system with sparse node ids, eg. a powerpc system with 4 nodes
      numbered like so:
      
        node   0: [mem 0x0000000000000000-0x00000007ffffffff]
        node   1: [mem 0x0000000800000000-0x0000000fffffffff]
        node  16: [mem 0x0000001000000000-0x00000017ffffffff]
        node  17: [mem 0x0000001800000000-0x0000001fffffffff]
      
      The code in rand_initialize() will allocate 4 pointers for the pool
      array, and initialise them correctly.
      
      However when go to use the pool, in eg. extract_crng(), we use the
      numa_node_id() to index into the array. For the higher numbered node ids
      this leads to random memory corruption, depending on what was kmalloc'ed
      adjacent to the pool array.
      
      Fix it by using nr_node_ids to size the pool array.
      
      Fixes: 1e7f583a ("random: make /dev/urandom scalable for silly userspace programs")
      Signed-off-by: 's avatarMichael Ellerman <mpe@ellerman.id.au>
      Signed-off-by: 's avatarLinus Torvalds <torvalds@linux-foundation.org>
      dd0f0cf5
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-4.8-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · 7f155c70
      Linus Torvalds authored
      Pull NFS client updates from Trond Myklebust:
       "Highlights include:
      
        Stable bugfixes:
         - nfs: don't create zero-length requests
      
         - several LAYOUTGET bugfixes
      
        Features:
         - several performance related features
      
         - more aggressive caching when we can rely on close-to-open
           cache consistency
      
         - remove serialisation of O_DIRECT reads and writes
      
         - optimise several code paths to not flush to disk unnecessarily.
      
           However allow for the idiosyncracies of pNFS for those layout
           types that need to issue a LAYOUTCOMMIT before the metadata can
           be updated on the server.
      
         - SUNRPC updates to the client data receive path
      
         - pNFS/SCSI support RH/Fedora dm-mpath device nodes
      
         - pNFS files/flexfiles can now use unprivileged ports when
           the generic NFS mount options allow it.
      
        Bugfixes:
         - Don't use RDMA direct data placement together with data
           integrity or privacy security flavours
      
         - Remove the RDMA ALLPHYSICAL memory registration mode as
           it has potential security holes.
      
         - Several layout recall fixes to improve NFSv4.1 protocol
           compliance.
      
         - Fix an Oops in the pNFS files and flexfiles connection
           setup to the DS
      
         - Allow retry of operations that used a returned delegation
            stateid
      
         - Don't mark the inode as revalidated if a LAYOUTCOMMIT is
           outstanding
      
         - Fix writeback races in nfs4_copy_range() and
           nfs42_proc_deallocate()"
      
      * tag 'nfs-for-4.8-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (104 commits)
        pNFS: Actively set attributes as invalid if LAYOUTCOMMIT is outstanding
        NFSv4: Clean up lookup of SECINFO_NO_NAME
        NFSv4.2: Fix warning "variable ‘stateids’ set but not used"
        NFSv4: Fix warning "no previous prototype for ‘nfs4_listxattr’"
        SUNRPC: Fix a compiler warning in fs/nfs/clnt.c
        pNFS: Remove redundant smp_mb() from pnfs_init_lseg()
        pNFS: Cleanup - do layout segment initialisation in one place
        pNFS: Remove redundant stateid invalidation
        pNFS: Remove redundant pnfs_mark_layout_returned_if_empty()
        pNFS: Clear the layout metadata if the server changed the layout stateid
        pNFS: Cleanup - don't open code pnfs_mark_layout_stateid_invalid()
        NFS: pnfs_mark_matching_lsegs_return() should match the layout sequence id
        pNFS: Do not set plh_return_seq for non-callback related layoutreturns
        pNFS: Ensure layoutreturn acts as a completion for layout callbacks
        pNFS: Fix CB_LAYOUTRECALL stateid verification
        pNFS: Always update the layout barrier seqid on LAYOUTGET
        pNFS: Always update the layout stateid if NFS_LAYOUT_INVALID_STID is set
        pNFS: Clear the layout return tracking on layout reinitialisation
        pNFS: LAYOUTRETURN should only update the stateid if the layout is valid
        nfs: don't create zero-length requests
        ...
      7f155c70
    • Linus Torvalds's avatar
      Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d761f3ed
      Linus Torvalds authored
      Pull x86 microcode updates from Thomas Gleixner:
      
       - more work to make the microcode loader robust
      
       - a fix for the micro code load precedence
      
       - fixes for initrd loading with randomized memory
      
       - less printk noise on SMP machines
      
      * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/asm, x86/microcode: Add __PAGE_OFFSET_BASE define on 32-bit
        x86/microcode/intel: Fix initrd loading with CONFIG_RANDOMIZE_MEMORY=y
        x86/microcode: Remove unused symbol exports
        x86/microcode/intel: Do not issue microcode updates messages on each CPU
        Documentation/microcode: Document some aspects for more clarity
        x86/microcode/AMD: Make amd_ucode_patch[] static
        x86/microcode/intel: Unexport save_mc_for_early()
        x86/microcode/intel: Rename load_microcode_early() to find_microcode_patch()
        x86/microcode: Propagate save_microcode_in_initrd() retval
        x86/microcode: Get rid of find_cpio_data()'s dummy offset arg
        lib/cpio: Make find_cpio_data()'s offset arg optional
        x86/microcode: Fix suspend to RAM with builtin microcode
        x86/microcode: Fix loading precedence
      d761f3ed
    • Linus Torvalds's avatar
      Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b325e04e
      Linus Torvalds authored
      Pull x86 cpufeature updates from Thomas Gleixner:
      
       - a workaround for the MONITOR instruction erratum of Goldmont CPUs
      
       - small fixes and cleanups here and there
      
      * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/cpu: Add workaround for MONITOR instruction erratum on Goldmont based CPUs
        x86/cpu: Rename "WESTMERE2" family to "NEHALEM_G"
        x86/amd_nb: Clean up init path
        x86/cpufeature: Add helper macro for mask check macros
        x86/cpufeature: Make sure DISABLED/REQUIRED macros are updated
        x86/cpufeature: Update cpufeaure macros
      b325e04e
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7f7d5564
      Linus Torvalds authored
      Pull perf fixes from Thomas Gleixner:
       "This update contains:
      
         - a fix for the bpf tools to use the new EM_BPF code
      
         - a fix for the module parser of perf to retrieve the
           proper text start address
      
         - add str_error_c to libapi to avoid linking against
           tools/lib/str_error_r.o"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        tools lib api: Add str_error_c to libapi
        perf s390: Fix 'start' address of module's map
        tools lib bpf: Use official ELF e_machine value
      7f7d5564
    • Linus Torvalds's avatar
      Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 228ffba2
      Linus Torvalds authored
      Pull misc fixes from Thomas Gleixner:
       "This update contains:
      
         - a fix for stomp-machine so the nmi_watchdog wont trigger on the cpu
           waiting for the others to execute the callback
      
         - various fixes and updates to objtool including an resync of the
           instruction decoder to match the kernel's decoder"
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        objtool: Un-capitalize "Warning" for out-of-sync instruction decoder
        objtool: Resync x86 instruction decoder with the kernel's
        objtool: Support new GCC 6 switch jump table pattern
        stop_machine: Touch_nmi_watchdog() after MULTI_STOP_PREPARE
        objtool: Add 'fixdep' to objtool/.gitignore
      228ffba2
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · f64d6e2a
      Linus Torvalds authored
      Pull DeviceTree updates from Rob Herring:
      
       - remove most of_platform_populate() calls in arch code.  Now the DT
         core code calls it in the default case and platforms only need to
         call it if they have special needs
      
       - use pr_fmt on all the DT core print statements
      
       - CoreSight binding doc improvements to block name descriptions
      
       - add dt_to_config script which can parse dts files and list
         corresponding kernel config options
      
       - fix memory leak hit with a PowerMac DT
      
       - correct a bunch of STMicro compatible strings to use the correct
         vendor prefix
      
       - fix DA9052 PMIC binding doc to match what is actually used in dts
         files
      
      * tag 'devicetree-for-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (35 commits)
        documentation: da9052: Update regulator bindings names to match DA9052/53 DTS expectations
        xtensa: Partially Revert "xtensa: Remove unnecessary of_platform_populate with default match table"
        xtensa: Fix build error due to missing include file
        MIPS: ath79: Add missing include file
        Fix spelling errors in Documentation/devicetree
        ARM: dts: fix STMicroelectronics compatible strings
        powerpc/dts: fix STMicroelectronics compatible strings
        Documentation: dt: i2c: use correct STMicroelectronics vendor prefix
        scripts/dtc: dt_to_config - kernel config options for a devicetree
        of: fdt: mark unflattened tree as detached
        of: overlay: add resolver error prints
        coresight: document binding acronyms
        Documentation/devicetree: document cavium-pip rx-delay/tx-delay properties
        of: use pr_fmt prefix for all console printing
        of/irq: Mark initialised interrupt controllers as populated
        of: fix memory leak related to safe_name()
        Revert "of/platform: export of_default_bus_match_table"
        of: unittest: use of_platform_default_populate() to populate default bus
        memory: omap-gpmc: use of_platform_default_populate() to populate default bus
        bus: uniphier-system-bus: use of_platform_default_populate() to populate default bus
        ...
      f64d6e2a