1. 01 Nov, 2021 6 commits
    • Linus Torvalds's avatar
      Merge tag 'for-5.16/io_uring-2021-10-29' of git://git.kernel.dk/linux-block · 8d1f0177
      Linus Torvalds authored
      Pull io_uring updates from Jens Axboe:
       "Light on new features - basically just the hybrid mode support.
      
        Outside of that it's just fixes, cleanups, and performance
        improvements.
      
        In detail:
      
         - Add ring related information to the fdinfo output (Hao)
      
         - Hybrid async mode (Hao)
      
         - Support for batched issue on block (me)
      
         - sqe error trace improvement (me)
      
         - IOPOLL efficiency improvements (Pavel)
      
         - submit state cleanups and improvements (Pavel)
      
         - Completion side improvements (Pavel)
      
         - Drain improvements (Pavel)
      
         - Buffer selection cleanups (Pavel)
      
         - Fixed file node improvements (Pavel)
      
         - io-wq setup cancelation fix (Pavel)
      
         - Various other performance improvements and cleanups (Pavel)
      
         - Misc fixes (Arnd, Bixuan, Changcheng, Hao, me, Noah)"
      
      * tag 'for-5.16/io_uring-2021-10-29' of git://git.kernel.dk/linux-block: (97 commits)
        io-wq: remove worker to owner tw dependency
        io_uring: harder fdinfo sq/cq ring iterating
        io_uring: don't assign write hint in the read path
        io_uring: clusterise ki_flags access in rw_prep
        io_uring: kill unused param from io_file_supports_nowait
        io_uring: clean up timeout async_data allocation
        io_uring: don't try io-wq polling if not supported
        io_uring: check if opcode needs poll first on arming
        io_uring: clean iowq submit work cancellation
        io_uring: clean io_wq_submit_work()'s main loop
        io-wq: use helper for worker refcounting
        io_uring: implement async hybrid mode for pollable requests
        io_uring: Use ERR_CAST() instead of ERR_PTR(PTR_ERR())
        io_uring: split logic of force_nonblock
        io_uring: warning about unused-but-set parameter
        io_uring: inform block layer of how many requests we are submitting
        io_uring: simplify io_file_supports_nowait()
        io_uring: combine REQ_F_NOWAIT_{READ,WRITE} flags
        io_uring: arm poll for non-nowait files
        fs/io_uring: Prioritise checking faster conditions first in io_write
        ...
      8d1f0177
    • Linus Torvalds's avatar
      Merge tag 'for-5.16/drivers-2021-10-29' of git://git.kernel.dk/linux-block · 643a7234
      Linus Torvalds authored
      Pull block driver updates from Jens Axboe:
      
       - paride driver cleanups (Christoph)
      
       - Remove cryptoloop support (Christoph)
      
       - null_blk poll support (me)
      
       - Now that add_disk() supports proper error handling, add it to various
         drivers (Luis)
      
       - Make ataflop actually work again (Michael)
      
       - s390 dasd fixes (Stefan, Heiko)
      
       - nbd fixes (Yu, Ye)
      
       - Remove redundant wq flush in mtip32xx (Christophe)
      
       - NVMe updates
            - fix a multipath partition scanning deadlock (Hannes Reinecke)
            - generate uevent once a multipath namespace is operational again
              (Hannes Reinecke)
            - support unique discovery controller NQNs (Hannes Reinecke)
            - fix use-after-free when a port is removed (Israel Rukshin)
            - clear shadow doorbell memory on resets (Keith Busch)
            - use struct_size (Len Baker)
            - add error handling support for add_disk (Luis Chamberlain)
            - limit the maximal queue size for RDMA controllers (Max Gurtovoy)
            - use a few more symbolic names (Max Gurtovoy)
            - fix error code in nvme_rdma_setup_ctrl (Max Gurtovoy)
            - add support for ->map_queues on FC (Saurav Kashyap)
            - support the current discovery subsystem entry (Hannes Reinecke)
            - use flex_array_size and struct_size (Len Baker)
      
       - bcache fixes (Christoph, Coly, Chao, Lin, Qing)
      
       - MD updates (Christoph, Guoqing, Xiao)
      
       - Misc fixes (Dan, Ding, Jiapeng, Shin'ichiro, Ye)
      
      * tag 'for-5.16/drivers-2021-10-29' of git://git.kernel.dk/linux-block: (117 commits)
        null_blk: Fix handling of submit_queues and poll_queues attributes
        block: ataflop: Fix warning comparing pointer to 0
        bcache: replace snprintf in show functions with sysfs_emit
        bcache: move uapi header bcache.h to bcache code directory
        nvmet: use flex_array_size and struct_size
        nvmet: register discovery subsystem as 'current'
        nvmet: switch check for subsystem type
        nvme: add new discovery log page entry definitions
        block: ataflop: more blk-mq refactoring fixes
        block: remove support for cryptoloop and the xor transfer
        mtd: add add_disk() error handling
        rnbd: add error handling support for add_disk()
        um/drivers/ubd_kern: add error handling support for add_disk()
        m68k/emu/nfblock: add error handling support for add_disk()
        xen-blkfront: add error handling support for add_disk()
        bcache: add error handling support for add_disk()
        dm: add add_disk() error handling
        block: aoe: fixup coccinelle warnings
        nvmet: use struct_size over open coded arithmetic
        nvme: drop scan_lock and always kick requeue list when removing namespaces
        ...
      643a7234
    • Linus Torvalds's avatar
      Merge tag 'for-5.16/block-2021-10-29' of git://git.kernel.dk/linux-block · 33c8846c
      Linus Torvalds authored
      Pull block updates from Jens Axboe:
      
       - mq-deadline accounting improvements (Bart)
      
       - blk-wbt timer fix (Andrea)
      
       - Untangle the block layer includes (Christoph)
      
       - Rework the poll support to be bio based, which will enable adding
         support for polling for bio based drivers (Christoph)
      
       - Block layer core support for multi-actuator drives (Damien)
      
       - blk-crypto improvements (Eric)
      
       - Batched tag allocation support (me)
      
       - Request completion batching support (me)
      
       - Plugging improvements (me)
      
       - Shared tag set improvements (John)
      
       - Concurrent queue quiesce support (Ming)
      
       - Cache bdev in ->private_data for block devices (Pavel)
      
       - bdev dio improvements (Pavel)
      
       - Block device invalidation and block size improvements (Xie)
      
       - Various cleanups, fixes, and improvements (Christoph, Jackie,
         Masahira, Tejun, Yu, Pavel, Zheng, me)
      
      * tag 'for-5.16/block-2021-10-29' of git://git.kernel.dk/linux-block: (174 commits)
        blk-mq-debugfs: Show active requests per queue for shared tags
        block: improve readability of blk_mq_end_request_batch()
        virtio-blk: Use blk_validate_block_size() to validate block size
        loop: Use blk_validate_block_size() to validate block size
        nbd: Use blk_validate_block_size() to validate block size
        block: Add a helper to validate the block size
        block: re-flow blk_mq_rq_ctx_init()
        block: prefetch request to be initialized
        block: pass in blk_mq_tags to blk_mq_rq_ctx_init()
        block: add rq_flags to struct blk_mq_alloc_data
        block: add async version of bio_set_polled
        block: kill DIO_MULTI_BIO
        block: kill unused polling bits in __blkdev_direct_IO()
        block: avoid extra iter advance with async iocb
        block: Add independent access ranges support
        blk-mq: don't issue request directly in case that current is to be blocked
        sbitmap: silence data race warning
        blk-cgroup: synchronize blkg creation against policy deactivation
        block: refactor bio_iov_bvec_set()
        block: add single bio async direct IO helper
        ...
      33c8846c
    • Linus Torvalds's avatar
      Merge tag 'locks-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux · 9ac21142
      Linus Torvalds authored
      Pull file locking updates from Jeff Layton:
       "Most of this is just follow-on cleanup work of documentation and
        comments from the mandatory locking removal in v5.15.
      
        The only real functional change is that LOCK_MAND flock() support is
        also being removed, as it has basically been non-functional since the
        v2.5 days"
      
      * tag 'locks-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux:
        fs: remove leftover comments from mandatory locking removal
        locks: remove changelog comments
        docs: fs: locks.rst: update comment about mandatory file locking
        Documentation: remove reference to now removed mandatory-locking doc
        locks: remove LOCK_MAND flock lock support
      9ac21142
    • Linus Torvalds's avatar
      Merge tag 'tpmdd-next-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd · ad98a924
      Linus Torvalds authored
      Pull tpm updates from Jarkko Sakkinen:
       "Only bug fixes"
      
      * tag 'tpmdd-next-v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd:
        tpm_tis_spi: Add missing SPI ID
        tpm: fix Atmel TPM crash caused by too frequent queries
        tpm: Check for integer overflow in tpm2_map_response_body()
        tpm: tis: Kconfig: Add helper dependency on COMPILE_TEST
      ad98a924
    • Linus Torvalds's avatar
      Merge tag 'folio-5.16' of git://git.infradead.org/users/willy/pagecache · 49f8275c
      Linus Torvalds authored
      Pull memory folios from Matthew Wilcox:
       "Add memory folios, a new type to represent either order-0 pages or the
        head page of a compound page. This should be enough infrastructure to
        support filesystems converting from pages to folios.
      
        The point of all this churn is to allow filesystems and the page cache
        to manage memory in larger chunks than PAGE_SIZE. The original plan
        was to use compound pages like THP does, but I ran into problems with
        some functions expecting only a head page while others expect the
        precise page containing a particular byte.
      
        The folio type allows a function to declare that it's expecting only a
        head page. Almost incidentally, this allows us to remove various calls
        to VM_BUG_ON(PageTail(page)) and compound_head().
      
        This converts just parts of the core MM and the page cache. For 5.17,
        we intend to convert various filesystems (XFS and AFS are ready; other
        filesystems may make it) and also convert more of the MM and page
        cache to folios. For 5.18, multi-page folios should be ready.
      
        The multi-page folios offer some improvement to some workloads. The
        80% win is real, but appears to be an artificial benchmark (postgres
        startup, which isn't a serious workload). Real workloads (eg building
        the kernel, running postgres in a steady state, etc) seem to benefit
        between 0-10%. I haven't heard of any performance losses as a result
        of this series. Nobody has done any serious performance tuning; I
        imagine that tweaking the readahead algorithm could provide some more
        interesting wins. There are also other places where we could choose to
        create large folios and currently do not, such as writes that are
        larger than PAGE_SIZE.
      
        I'd like to thank all my reviewers who've offered review/ack tags:
        Christoph Hellwig, David Howells, Jan Kara, Jeff Layton, Johannes
        Weiner, Kirill A. Shutemov, Michal Hocko, Mike Rapoport, Vlastimil
        Babka, William Kucharski, Yu Zhao and Zi Yan.
      
        I'd also like to thank those who gave feedback I incorporated but
        haven't offered up review tags for this part of the series: Nick
        Piggin, Mel Gorman, Ming Lei, Darrick Wong, Ted Ts'o, John Hubbard,
        Hugh Dickins, and probably a few others who I forget"
      
      * tag 'folio-5.16' of git://git.infradead.org/users/willy/pagecache: (90 commits)
        mm/writeback: Add folio_write_one
        mm/filemap: Add FGP_STABLE
        mm/filemap: Add filemap_get_folio
        mm/filemap: Convert mapping_get_entry to return a folio
        mm/filemap: Add filemap_add_folio()
        mm/filemap: Add filemap_alloc_folio
        mm/page_alloc: Add folio allocation functions
        mm/lru: Add folio_add_lru()
        mm/lru: Convert __pagevec_lru_add_fn to take a folio
        mm: Add folio_evictable()
        mm/workingset: Convert workingset_refault() to take a folio
        mm/filemap: Add readahead_folio()
        mm/filemap: Add folio_mkwrite_check_truncate()
        mm/filemap: Add i_blocks_per_folio()
        mm/writeback: Add folio_redirty_for_writepage()
        mm/writeback: Add folio_account_redirty()
        mm/writeback: Add folio_clear_dirty_for_io()
        mm/writeback: Add folio_cancel_dirty()
        mm/writeback: Add folio_account_cleaned()
        mm/writeback: Add filemap_dirty_folio()
        ...
      49f8275c
  2. 31 Oct, 2021 7 commits
  3. 30 Oct, 2021 6 commits
  4. 29 Oct, 2021 21 commits