• Linus Torvalds's avatar
    Merge tag 'vfs-6.9.iomap' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs · 54126faf
    Linus Torvalds authored
    Pull iomap updates from Christian Brauner:
    
     - Restore read-write hints in struct bio through the bi_write_hint
       member for the sake of UFS devices in mobile applications. This can
       result in up to 40% lower write amplification in UFS devices. The
       patch series that builds on this will be coming in via the SCSI
       maintainers (Bart)
    
     - Overhaul the iomap writeback code. Afterwards ->map_blocks() is able
       to map multiple blocks at once as long as they're in the same folio.
       This reduces CPU usage for buffered write workloads on e.g., xfs on
       systems with lots of cores (Christoph)
    
     - Record processed bytes in iomap_iter() trace event (Kassey)
    
     - Extend iomap_writepage_map() trace event after Christoph's
       ->map_block() changes to map mutliple blocks at once (Zhang)
    
    * tag 'vfs-6.9.iomap' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: (22 commits)
      iomap: Add processed for iomap_iter
      iomap: add pos and dirty_len into trace_iomap_writepage_map
      block, fs: Restore the per-bio/request data lifetime fields
      fs: Propagate write hints to the struct block_device inode
      fs: Move enum rw_hint into a new header file
      fs: Split fcntl_rw_hint()
      fs: Verify write lifetime constants at compile time
      fs: Fix rw_hint validation
      iomap: pass the length of the dirty region to ->map_blocks
      iomap: map multiple blocks at a time
      iomap: submit ioends immediately
      iomap: factor out a iomap_writepage_map_block helper
      iomap: only call mapping_set_error once for each failed bio
      iomap: don't chain bios
      iomap: move the iomap_sector sector calculation out of iomap_add_to_ioend
      iomap: clean up the iomap_alloc_ioend calling convention
      iomap: move all remaining per-folio logic into iomap_writepage_map
      iomap: factor out a iomap_writepage_handle_eof helper
      iomap: move the PF_MEMALLOC check to iomap_writepages
      iomap: move the io_folios field out of struct iomap_ioend
      ...
    54126faf
blk-mq.c 123 KB