• Linus Torvalds's avatar
    Merge tag 'for-6.1/passthrough-2022-10-04' of git://git.kernel.dk/linux · 7c989b1d
    Linus Torvalds authored
    Pull passthrough updates from Jens Axboe:
     "With these changes, passthrough NVMe support over io_uring now
      performs at the same level as block device O_DIRECT, and in many cases
      6-8% better.
    
      This contains:
    
       - Add support for fixed buffers for passthrough (Anuj, Kanchan)
    
       - Enable batched allocations and freeing on passthrough, similarly to
         what we support on the normal storage path (me)
    
       - Fix from Geert fixing an issue with !CONFIG_IO_URING"
    
    * tag 'for-6.1/passthrough-2022-10-04' of git://git.kernel.dk/linux:
      io_uring: Add missing inline to io_uring_cmd_import_fixed() dummy
      nvme: wire up fixed buffer support for nvme passthrough
      nvme: pass ubuffer as an integer
      block: extend functionality to map bvec iterator
      block: factor out blk_rq_map_bio_alloc helper
      block: rename bio_map_put to blk_mq_map_bio_put
      nvme: refactor nvme_alloc_request
      nvme: refactor nvme_add_user_metadata
      nvme: Use blk_rq_map_user_io helper
      scsi: Use blk_rq_map_user_io helper
      block: add blk_rq_map_user_io
      io_uring: introduce fixed buffer support for io_uring_cmd
      io_uring: add io_uring_cmd_import_fixed
      nvme: enable batched completions of passthrough IO
      nvme: split out metadata vs non metadata end_io uring_cmd completions
      block: allow end_io based requests in the completion batch handling
      block: change request end_io handler to pass back a return value
      block: enable batched allocation for blk_mq_alloc_request()
      block: kill deprecated BUG_ON() in the flush handling
    7c989b1d
core.c 140 KB