Skip to content
  1. Feb 26, 2021
    • Jens Axboe's avatar
      io-wq: make buffered file write hashed work map per-ctx · e941894e
      Jens Axboe authored
      
      
      Before the io-wq thread change, we maintained a hash work map and lock
      per-node per-ring. That wasn't ideal, as we really wanted it to be per
      ring. But now that we have per-task workers, the hash map ends up being
      just per-task. That'll work just fine for the normal case of having
      one task use a ring, but if you share the ring between tasks, then it's
      considerably worse than it was before.
      
      Make the hash map per ctx instead, which provides full per-ctx buffered
      write serialization on hashed writes.
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      e941894e
  2. Feb 24, 2021
  3. Feb 22, 2021
    • Jens Axboe's avatar
      io-wq: make io_wq_fork_thread() available to other users · 843bbfd4
      Jens Axboe authored
      
      
      We want to use this in io_uring proper as well, for the SQPOLL thread.
      Rename it from fork_thread() to io_wq_fork_thread(), and make it
      available through the io-wq.h header.
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      843bbfd4
    • Jens Axboe's avatar
      io-wq: only remove worker from free_list, if it was there · bf1daa4b
      Jens Axboe authored
      
      
      If the worker isn't on the free_list, don't attempt to delete it.
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      bf1daa4b
    • Jens Axboe's avatar
      io_uring: remove io_identity · 4379bf8b
      Jens Axboe authored
      
      
      We are no longer grabbing state, so no need to maintain an IO identity
      that we COW if there are changes.
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      4379bf8b
    • Jens Axboe's avatar
      io_uring: remove any grabbing of context · 44526bed
      Jens Axboe authored
      
      
      The async workers are siblings of the task itself, so by definition we
      have all the state that we need. Remove any of the state grabbing that
      we have, and requests flagging what they need.
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      44526bed
    • Jens Axboe's avatar
      io-wq: worker idling always returns false · c6d77d92
      Jens Axboe authored
      
      
      Remove the bool return, and the checking for it in the caller.
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      c6d77d92
    • Jens Axboe's avatar
      io-wq: fork worker threads from original task · 3bfe6106
      Jens Axboe authored
      
      
      Instead of using regular kthread kernel threads, create kernel threads
      that are like a real thread that the task would create. This ensures that
      we get all the context that we need, without having to carry that state
      around. This greatly reduces the code complexity, and the risk of missing
      state for a given request type.
      
      With the move away from kthread, we can also dump everything related to
      assigned state to the new threads.
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      3bfe6106
    • Jens Axboe's avatar
    • Jens Axboe's avatar
      arch: setup PF_IO_WORKER threads like PF_KTHREAD · 4727dc20
      Jens Axboe authored
      
      
      PF_IO_WORKER are kernel threads too, but they aren't PF_KTHREAD in the
      sense that we don't assign ->set_child_tid with our own structure. Just
      ensure that every arch sets up the PF_IO_WORKER threads like kthreads
      in the arch implementation of copy_thread().
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      4727dc20
    • Jens Axboe's avatar
      io-wq: don't pass 'wqe' needlessly around · 958234d5
      Jens Axboe authored
      
      
      Just grab it from the worker itself, which we're already passing in.
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      958234d5
    • Jens Axboe's avatar
      io_uring: tie async worker side to the task context · 5aa75ed5
      Jens Axboe authored
      
      
      Move it outside of the io_ring_ctx, and tie it to the io_uring task
      context.
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      5aa75ed5
    • Jens Axboe's avatar
      io-wq: get rid of wq->use_refs · 3b094e72
      Jens Axboe authored
      
      
      We don't support attach anymore, so doesn't make sense to carry the
      use_refs reference count. Get rid of it.
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      3b094e72
    • Jens Axboe's avatar
      io_uring: disable io-wq attaching · d25e3a3d
      Jens Axboe authored
      
      
      Moving towards making the io_wq per ring per task, so we can't really
      share it between rings. Which is fine, since we've now dropped some
      of that fat from it.
      
      Retain compatibility with how attaching works, so that any attempt to
      attach to an fd that doesn't exist, or isn't an io_uring fd, will fail
      like it did before.
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      d25e3a3d
    • Jens Axboe's avatar
      io-wq: don't create any IO workers upfront · 1cbd9c2b
      Jens Axboe authored
      
      
      When the manager thread starts up, it creates a worker per node for
      the given context. Just let these get created dynamically, like we do
      for adding further workers.
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      1cbd9c2b
    • Jens Axboe's avatar
      io_uring: remove the need for relying on an io-wq fallback worker · 7c25c0d1
      Jens Axboe authored
      
      
      We hit this case when the task is exiting, and we need somewhere to
      do background cleanup of requests. Instead of relying on the io-wq
      task manager to do this work for us, just stuff it somewhere where
      we can safely run it ourselves directly.
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      7c25c0d1
    • Jens Axboe's avatar
      Merge branch 'for-5.12/io_uring' into io_uring-worker.v3 · 27131549
      Jens Axboe authored
      * for-5.12/io_uring: (21 commits)
        io_uring: run task_work on io_uring_register()
        io_uring: fix leaving invalid req->flags
        io_uring: wait potential ->release() on resurrect
        io_uring: keep generic rsrc infra generic
        io_uring: zero ref_node after killing it
        io_uring: make the !CONFIG_NET helpers a bit more robust
        io_uring: don't hold uring_lock when calling io_run_task_work*
        io_uring: fail io-wq submission from a task_work
        io_uring: don't take uring_lock during iowq cancel
        io_uring: fail links more in io_submit_sqe()
        io_uring: don't do async setup for links' heads
        io_uring: do io_*_prep() early in io_submit_sqe()
        io_uring: split sqe-prep and async setup
        io_uring: don't submit link on error
        io_uring: move req link into submit_state
        io_uring: move io_init_req() into io_submit_sqe()
        io_uring: move io_init_req()'s definition
        io_uring: don't duplicate ->file check in sfr
        io_uring: keep io_*_prep() naming consistent
        io_uring: kill fictitious submit iteration index
        ...
      27131549
    • Pavel Begunkov's avatar
      io_uring: run task_work on io_uring_register() · b6c23dd5
      Pavel Begunkov authored
      
      
      Do run task_work before io_uring_register(), that might make a first
      quiesce round much nicer. We generally do that for any syscall invocation
      to avoid spurious -EINTR/-ERESTARTSYS, for task_work that we generate.
      This patch brings io_uring_register() inline with the two other io_uring
      syscalls.
      
      Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      b6c23dd5
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2021-02-19' of git://anongit.freedesktop.org/drm/drm · d99676af
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
       "A pretty normal tree, lots of refactoring across the board, ttm, i915,
        nouveau, and bunch of features in various drivers.
      
        docs:
         - lots of updated docs
      
        core:
         - require crtc to have unique primary plane
         - fourcc macro fix
         - PCI bar quirk for bar resizing
         - don't sent hotplug on error
         - move vm code to legacy
         - nuke hose only used on old oboslete alpha
      
        dma-buf:
         - kernel doc updates
         - improved lock tracking
      
        dp/hdmi:
         - DP-HDMI2.1 protocol converter support
      
        ttm:
         - bo size handling cleanup
         - release a pinned bo warning
         - cleanup lru handler
         - avoid using pages with drm_prime_sg_to_page_addr_arrays
      
        cma-helper:
         - prime/mmap fixes
      
        bridge:
         - add DP support
      
        gma500:
         - remove gma3600 support
      
        i915:
         - try eDP fast/narrow link again with fallback
         - Intel eDP backlight control
         - replace display register read/write macros
         - refactor intel_display.c
         - display power improvements
         - HPD code cleanup
         - Rocketlake display fixes
         - Power/backlight/RPM fixes
         - DG1 display fix
         - IVB/BYT clear residuals security fix again
         - make i915 mitigations options via parameter
         - HSW GT1 GPU hangs fixes
         - DG1 workaround hang fixes
         - TGL DMAR hang avoidance
         - Lots of GT fixes
         - follow on fixes for residuals clear
         - gen7 per-engine-reset support
         - HDCP2.2 + HDCP1.4 GEN12 DP MST support
         - TGL clear color support
         - backlight refactoring
         - VRR/Adaptive sync enabling on DP/EDP for TGL+
         - async flips for all ilk+
      
        amdgpu:
         - rework IH ring handling (Vega/Navi)
         - rework HDP handling (Vega/Navi)
         - swSMU updates for renoir/vangogh
         - Sienna Cichild overdrive support
         - FP16 on DCE8-11 support
         - GPU reset on navy flounder/vangogh
         - SMU profile fixes for APU
         - SR-IOV fixes
         - Vangogh SMU fixes
         - fan speed control fixes
      
        amdkfd:
         - config handling fix
         - buffer free fix
         - recursive lock warnings fix
      
        nouveau:
         - Turing MMU fault recovery fixes
         - mDP connectors reporting fix
         - audio locking fixes
         - rework engines/instances code to support new scheme
      
        tegra:
         - VIC newer firmware support
         - display/gr2d fixes for older tegra
         - pm reference leak fix
      
        mediatek:
         - SOC MT8183 support
         - decouple sub driver + share mtk mutex driver
      
        radeon:
         - PCI resource fix for some platforms
      
        ingenic:
         - pm support
         - 8-bit delta RGB panels
      
        vmwgfx:
         - managed driver helpers
      
        vc4:
         - BCM2711 DSI1 support
         - converted to atomic helpers
         - enable 10/12 bpc outputs
         - gem prime mmap helpers
         - CEC fix
      
        omap:
         - use degamma table
         - CTM support
         - rework DSI support
      
        imx:
         - stack usage fixes
         - drm managed support
         - imx-tve clock provider leak fix
      -
      
        rcar-du:
         - default mode fixes
         - conversion to managed API
      
        hisilicon:
         - use simple encoder
      
        vkms:
         - writeback connector support
      
        d3:
         - BT2020 support"
      
      * tag 'drm-next-2021-02-19' of git://anongit.freedesktop.org/drm/drm: (1459 commits)
        drm/amdgpu: Set reference clock to 100Mhz on Renoir (v2)
        drm/radeon: OLAND boards don't have VCE
        drm/amdkfd: Fix recursive lock warnings
        drm/amd/display: Add FPU wrappers to dcn21_validate_bandwidth()
        drm/amd/display: Fix potential integer overflow
        drm/amdgpu/display: remove hdcp_srm sysfs on device removal
        drm/amdgpu: fix CGTS_TCC_DISABLE register offset on gfx10.3
        drm/i915/gt: Correct surface base address for renderclear
        drm/i915: Disallow plane x+w>stride on ilk+ with X-tiling
        drm/nouveau/top/ga100: initial support
        drm/nouveau/top: add ioctrl/nvjpg
        drm/nouveau/privring: rename from ibus
        drm/nouveau/nvkm: remove nvkm_subdev.index
        drm/nouveau/nvkm: determine subdev id/order from layout
        drm/nouveau/vic: switch to instanced constructor
        drm/nouveau/sw: switch to instanced constructor
        drm/nouveau/sec2: switch to instanced constructor
        drm/nouveau/sec: switch to instanced constructor
        drm/nouveau/pm: switch to instanced constructor
        drm/nouveau/nvenc: switch to instanced constructor
        ...
      d99676af
    • Linus Torvalds's avatar
      Merge tag 'sound-5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 10e2ec8e
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "A relatively calm release at this time, and no massive code changes
        are found in the stats, while a wide range of code refactoring and
        cleanup have been done.
      
        Note that this update includes the tree-wide trivial changes for
        dropping the return value from ISA remove callbacks, too.
      
        Below lists up some highlight:
      
        ALSA Core:
         - Support for the software jack injection via debugfs
         - Fixes for sync_stop PCM operations
      
        HD-audio and USB-audio:
         - A few usual HD-audio device quirks
         - Updates for Tegra HD-audio
         - More quirks for Pioneer and other USB-audio devices
         - Stricter state checks at USB-audio disconnection
      
        ASoC:
         - Continued code refactoring, cleanup and fixes in ASoC core API
         - A KUnit testsuite for the topology code
         - Lots of ASoC Intel driver Realtek codec updates, quirk additions
           and fixes
         - Support for Ingenic JZ4760(B), Intel AlderLake-P, DT configured
           nVidia cards, Qualcomm lpass-rx-macro and lpass-tx-macro
         - Removal of obsolete SIRF prima/atlas, Txx9 and ZTE zx drivers
      
        Others:
         - Drop return value from ISA driver remove callback
         - Cleanup with DIV_ROUND_UP() macro
         - FireWire updates, HDSP output loopback support"
      
      * tag 'sound-5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (322 commits)
        ALSA: hda: intel-dsp-config: add Alder Lake support
        ASoC: soc-pcm: fix hw param limits calculation for multi-DAI
        ASoC: Intel: bytcr_rt5640: Add quirk for the Acer One S1002 tablet
        ASoC: Intel: bytcr_rt5651: Add quirk for the Jumper EZpad 7 tablet
        ASoC: Intel: bytcr_rt5640: Add quirk for the Voyo Winpad A15 tablet
        ASoC: Intel: bytcr_rt5640: Add quirk for the Estar Beauty HD MID 7316R tablet
        ASoC: soc-pcm: fix hwparams min/max init for dpcm
        ALSA: hda/realtek: Quirk for HP Spectre x360 14 amp setup
        ALSA: usb-audio: Add implicit fb quirk for BOSS GP-10
        ALSA: hda: Add another CometLake-H PCI ID
        ASoC: soc-pcm: add soc_pcm_hw_update_format()
        ASoC: soc-pcm: add soc_pcm_hw_update_chan()
        ASoC: soc-pcm: add soc_pcm_hw_update_rate()
        ASoC: wm_adsp: Remove unused control callback structure
        ASoC: SOF: relax ABI checks and avoid unnecessary warnings
        ASoC: codecs: lpass-tx-macro: add dapm widgets and route
        ASoC: codecs: lpass-tx-macro: add support for lpass tx macro
        ASoC: qcom: dt-bindings: add bindings for lpass tx macro codec
        ASoC: codecs: lpass-rx-macro: add iir widgets
        ASoC: codecs: lpass-rx-macro: add dapm widgets and route
        ...
      10e2ec8e
    • Linus Torvalds's avatar
      Merge tag 'media/v5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · de161757
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
      
       - some core fixes in VB2 mem2mem support
      
       - some improvements and cleanups in V4L2 async kAPI
      
       - newer controls in V4L2 API for H-264 and HEVC codecs
      
       - allegro-dvt driver was promoted from staging
      
       - new i2c sendor drivers: imx334, ov5648, ov8865
      
       - new automobile camera module: rdacm21
      
       - ipu3 cio2 driver started gained support for some ACPI BIOSes
      
       - new ATSC frontend: MaxLinear mxl692 VSB tuner/demod
      
       - the SMIA/CCS driver gained more support for CSS standard
      
       - several driver fixes, updates and improvements
      
      * tag 'media/v5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (362 commits)
        media: v4l: async: Fix kerneldoc documentation for async functions
        media: i2c: max9271: Add MODULE_* macros
        media: i2c: Kconfig: Make MAX9271 a module
        media: imx334: 'ret' is uninitialized, should have been PTR_ERR()
        media: i2c: Add imx334 camera sensor driver
        media: dt-bindings: media: Add bindings for imx334
        media: ov8856: Configure sensor for GRBG Bayer for all modes
        media: i2c: imx219: Implement V4L2_CID_LINK_FREQ control
        media: ov5675: fix vflip/hflip control
        media: ipu3-cio2: Build bridge only if ACPI is enabled
        media: Remove the legacy v4l2-clk API
        media: ov6650: Use the generic clock framework
        media: mt9m111: Use the generic clock framework
        media: ov9640: Use the generic clock framework
        media: pxa_camera: Drop the v4l2-clk clock register
        media: mach-pxa: Register the camera sensor fixed-rate clock
        media: i2c: imx258: get clock from device properties and enable it via runtime PM
        media: i2c: imx258: simplify getting state container
        media: i2c: imx258: add support for binding via device tree
        media: dt-bindings: media: imx258: add bindings for IMX258 sensor
        ...
      de161757
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs · 66f73fb3
      Linus Torvalds authored
      Pull JFFS2/UBIFS and UBI updates from Richard Weinberger:
       "JFFS2:
         - Fix for use-after-free in jffs2_sum_write_data()
         - Fix for out-of-bounds access in jffs2_zlib_compress()
      
        UBI:
         - Remove dead/useless code
      
        UBIFS:
         - Fix for a memory leak in ubifs_init_authentication()
         - Fix for high stack usage
         - Fix for a off-by-one error in xattrs code"
      
      * tag 'for-linus-5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/ubifs:
        ubifs: Fix error return code in alloc_wbufs()
        jffs2: check the validity of dstlen in jffs2_zlib_compress()
        ubifs: Fix off-by-one error
        ubifs: replay: Fix high stack usage, again
        ubifs: Fix memleak in ubifs_init_authentication
        jffs2: fix use after free in jffs2_sum_write_data()
        ubi: eba: Delete useless kfree code
        ubi: remove dead code in validate_vid_hdr()
      66f73fb3
    • Linus Torvalds's avatar
      Merge tag 'mtd/for-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux · 69e9b12a
      Linus Torvalds authored
      Pull MTD updates from Richard Weinberger:
       "MTD core changes:
         - Initial support for BCM4908 partitions
      
        Raw NAND controller drivers:
         - Intel: Fix an error handling path in 'ebu_dma_start()'
         - Tango: Remove the driver
         - Marvell: Convert comma to semicolon
         - MXC: Convert comma to semicolon
         - Qcom: Add support for Qcom SMEM parser
      
        Related MTD changes:
         - parsers: Add Qcom SMEM parser
      
        SPI NOR core changes:
         - Add non-uniform erase fixes.
         - Add Global Block Unlock command. It is defined by few flash
           vendors, and it is used for now just by sst.
      
        SPI NOR controller drivers changes:
         - intel-spi: Add support for Intel Alder Lake-P SPI serial flash.
         - hisi-sfc: Put child node np on error path"
      
      * tag 'mtd/for-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (23 commits)
        dt-bindings: mtd: add binding for BCM4908 partitions
        dt-bindings: mtd: move partition binding to its own file
        mtd: spi-nor: sst: Add support for Global Unlock on sst26vf
        mtd: spi-nor: Add Global Block Unlock command
        mtd: spi-nor: core: Add erase size check for erase command initialization
        mtd: spi-nor: core: Fix erase type discovery for overlaid region
        mtd: spi-nor: sfdp: Fix last erase region marking
        mtd: spi-nor: sfdp: Fix wrong erase type bitmask for overlaid region
        mtd: rawnand: intel: Fix an error handling path in 'ebu_dma_start()'
        mtd: rawnand: tango: Remove the driver
        mtd: rawnand: marvell: convert comma to semicolon
        mtd: st_spi_fsm: convert comma to semicolon
        mtd: convert comma to semicolon
        mtd: parsers: afs: Fix freeing the part name memory in failure
        mtd: parser: imagetag: fix error codes in bcm963xx_parse_imagetag_partitions()
        mtd: phram: use div_u64_rem to stop overwrite len in phram_setup
        mtd: remove redundant assignment to pointer eb
        mtd: spi-nor: hisi-sfc: Put child node np on error path
        mtd: spi-nor: intel-spi: Add support for Intel Alder Lake-P SPI serial flash
        mtd: rawnand: qcom: Add support for Qcom SMEM parser
        ...
      69e9b12a
    • Linus Torvalds's avatar
      Merge tag 'for-linux-5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml · 04471d3f
      Linus Torvalds authored
      Pull UML updates from Richard Weinberger:
      
       - Many cleanups and fixes for our virtio code
      
       - Add support for a pseudo RTC
      
       - Fix for a possible jailbreak
      
       - Minor fixes (spelling, header files)
      
      * tag 'for-linux-5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
        um: irq.h: include <asm-generic/irq.h>
        um: io.h: include <linux/types.h>
        um: add a pseudo RTC
        um: remove process stub VMA
        um: rework userspace stubs to not hard-code stub location
        um: separate child and parent errors in clone stub
        um: defer killing userspace on page table update failures
        um: mm: check more comprehensively for stub changes
        um: print register names in wait_for_stub
        um: hostfs: use a kmem cache for inodes
        mm: Remove arch_remap() and mm-arch-hooks.h
        um: fix spelling mistake in Kconfig "privleges" -> "privileges"
        um: virtio: allow devices to be configured for wakeup
        um: time-travel: rework interrupt handling in ext mode
        um: virtio: disable VQs during suspend
        um: virtio: fix handling of messages without payload
        um: virtio: clean up a comment
      04471d3f
    • Linus Torvalds's avatar
      Merge tag 's390-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · df24212a
      Linus Torvalds authored
      Pull s390 updates from Vasily Gorbik:
      
       - Convert to using the generic entry infrastructure.
      
       - Add vdso time namespace support.
      
       - Switch s390 and alpha to 64-bit ino_t. As discussed at
      
           https://lore.kernel.org/linux-mm/YCV7QiyoweJwvN+m@osiris/
      
       - Get rid of expensive stck (store clock) usages where possible.
         Utilize cpu alternatives to patch stckf when supported.
      
       - Make tod_clock usage less error prone by converting it to a union and
         rework code which is using it.
      
       - Machine check handler fixes and cleanups.
      
       - Drop couple of minor inline asm optimizations to fix clang build.
      
       - Default configs changes notably to make libvirt happy.
      
       - Various changes to rework and improve qdio code.
      
       - Other small various fixes and improvements all over the code.
      
      * tag 's390-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (68 commits)
        s390/qdio: remove 'merge_pending' mechanism
        s390/qdio: improve handling of PENDING buffers for QEBSM devices
        s390/qdio: rework q->qdio_error indication
        s390/qdio: inline qdio_kick_handler()
        s390/time: remove get_tod_clock_ext()
        s390/crypto: use store_tod_clock_ext()
        s390/hypfs: use store_tod_clock_ext()
        s390/debug: use union tod_clock
        s390/kvm: use union tod_clock
        s390/vdso: use union tod_clock
        s390/time: convert tod_clock_base to union
        s390/time: introduce new store_tod_clock_ext()
        s390/time: rename store_tod_clock_ext() and use union tod_clock
        s390/time: introduce union tod_clock
        s390,alpha: switch to 64-bit ino_t
        s390: split cleanup_sie
        s390: use r13 in cleanup_sie as temp register
        s390: fix kernel asce loading when sie is interrupted
        s390: add stack for machine check handler
        s390: use WRITE_ONCE when re-allocating async stack
        ...
      df24212a
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 3e105853
      Linus Torvalds authored
      Pull KVM updates from Paolo Bonzini:
       "x86:
      
         - Support for userspace to emulate Xen hypercalls
      
         - Raise the maximum number of user memslots
      
         - Scalability improvements for the new MMU.
      
           Instead of the complex "fast page fault" logic that is used in
           mmu.c, tdp_mmu.c uses an rwlock so that page faults are concurrent,
           but the code that can run against page faults is limited. Right now
           only page faults take the lock for reading; in the future this will
           be extended to some cases of page table destruction. I hope to
           switch the default MMU around 5.12-rc3 (some testing was delayed
           due to Chinese New Year).
      
         - Cleanups for MAXPHYADDR checks
      
         - Use static calls for vendor-specific callbacks
      
         - On AMD, use VMLOAD/VMSAVE to save and restore host state
      
         - Stop using deprecated jump label APIs
      
         - Workaround for AMD erratum that made nested virtualization
           unreliable
      
         - Support for LBR em...
      3e105853
    • Linus Torvalds's avatar
      Merge tag 'hyperv-next-signed-20210216' of... · 9c5b80b7
      Linus Torvalds authored
      Merge tag 'hyperv-next-signed-20210216' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux
      
      Pull Hyper-V updates from Wei Liu:
      
       - VMBus hardening patches from Andrea Parri and Andres Beltran.
      
       - Patches to make Linux boot as the root partition on Microsoft
         Hypervisor from Wei Liu.
      
       - One patch to add a new sysfs interface to support hibernation on
         Hyper-V from Dexuan Cui.
      
       - Two miscellaneous clean-up patches from Colin and Gustavo.
      
      * tag 'hyperv-next-signed-20210216' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux: (31 commits)
        Revert "Drivers: hv: vmbus: Copy packets sent by Hyper-V out of the ring buffer"
        iommu/hyperv: setup an IO-APIC IRQ remapping domain for root partition
        x86/hyperv: implement an MSI domain for root partition
        asm-generic/hyperv: import data structures for mapping device interrupts
        asm-generic/hyperv: introduce hv_device_id and auxiliary structures
        asm-generic/hyperv: update hv_interrupt_entry
        asm-generic/hyperv: update hv_msi_entry
        x86/hyperv: implement and use hv_smp_prepare_cpus
        x86/hyperv: provide a bunch of helper functions
        ACPI / NUMA: add a stub function for node_to_pxm()
        x86/hyperv: handling hypercall page setup for root
        x86/hyperv: extract partition ID from Microsoft Hypervisor if necessary
        x86/hyperv: allocate output arg pages if required
        clocksource/hyperv: use MSR-based access if running as root
        Drivers: hv: vmbus: skip VMBus initialization if Linux is root
        x86/hyperv: detect if Linux is the root partition
        asm-generic/hyperv: change HV_CPU_POWER_MANAGEMENT to HV_CPU_MANAGEMENT
        hv: hyperv.h: Replace one-element array with flexible-array in struct icmsg_negotiate
        hv_netvsc: Restrict configurations on isolated guests
        Drivers: hv: vmbus: Enforce 'VMBus version >= 5.2' on isolated guests
        ...
      9c5b80b7
    • Linus Torvalds's avatar
      Merge branch 'parisc-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 08179b47
      Linus Torvalds authored
      Pull parisc updates from Helge Deller:
      
       - Optimize parisc page table locks by using the existing
         page_table_lock
      
       - Export argv0-preserve flag in binfmt_misc for usage in qemu-user
      
       - Fix interrupt table (IVT) checksum so firmware will call crash
         handler (HPMC)
      
       - Increase IRQ stack to 64kb on 64-bit kernel
      
       - Switch to common devmem_is_allowed() implementation
      
       - Minor fix to get_whan()
      
      * 'parisc-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        binfmt_misc: pass binfmt_misc flags to the interpreter
        parisc: Optimize per-pagetable spinlocks
        parisc: Replace test_ti_thread_flag() with test_tsk_thread_flag()
        parisc: Bump 64-bit IRQ stack size to 64 KB
        parisc: Fix IVT checksum calculation wrt HPMC
        parisc: Use the generic devmem_is_allowed()
        parisc: Drop out of get_whan() if task is running again
      08179b47
    • Linus Torvalds's avatar
      Merge tag 'mips_5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · 2671fe5e
      Linus Torvalds authored
      Pull MIPS updates from Thomas Bogendoerfer:
      
       - added support for Nintendo N64
      
       - added support for Realtek RTL83XX SoCs
      
       - kaslr support for Loongson64
      
       - first steps to get rid of set_fs()
      
       - DMA runtime coherent/non-coherent selection cleanup
      
       - cleanups and fixes
      
      * tag 'mips_5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (98 commits)
        Revert "MIPS: Add basic support for ptrace single step"
        vmlinux.lds.h: catch more UBSAN symbols into .data
        MIPS: kernel: Drop kgdb_call_nmi_hook
        MAINTAINERS: Add git tree for KVM/mips
        MIPS: Use common way to parse elfcorehdr
        MIPS: Simplify EVA cache handling
        Revert "MIPS: kernel: {ftrace,kgdb}: Set correct address limit for cache flushes"
        MIPS: remove CONFIG_DMA_PERDEV_COHERENT
        MIPS: remove CONFIG_DMA_MAYBE_COHERENT
        driver core: lift dma_default_coherent into common code
        MIPS: refactor the runtime coherent vs noncoherent DMA indicators
        MIPS/alchemy: factor out the DMA coherent setup
        MIPS/malta: simplify plat_setup_iocoherency
        MIPS: Add basic support for ptrace single step
        MAINTAINERS: replace non-matching patterns for loongson{2,3}
        MIPS: Make check condition for SDBBP consistent with EJTAG spec
        mips: Replace lkml.org links with lore
        Revert "MIPS: microMIPS: Fix the judgment of mm_jr16_op and mm_jalr_op"
        MIPS: crash_dump.c: Simplify copy_oldmem_page()
        Revert "mips: Manually call fdt_init_reserved_mem() method"
        ...
      2671fe5e
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v5.12-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · b811b410
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
       - fix ADB autopoll regression
      
       - defconfig updates
      
      * tag 'm68k-for-v5.12-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        macintosh/adb-iop: Use big-endian autopoll mask
        m68k: defconfig: Update defconfigs for v5.11-rc1
      b811b410