• Linus Torvalds's avatar
    Merge tag 'for-6.0/dm-changes-2' of... · 20cf903a
    Linus Torvalds authored
    Merge tag 'for-6.0/dm-changes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
    
    Pull more device mapper updates from Mike Snitzer:
    
     - Add flags argument to dm_bufio_client_create and introduce
       DM_BUFIO_CLIENT_NO_SLEEP flag to have dm-bufio use spinlock rather
       than mutex for its locking.
    
     - Add optional "try_verify_in_tasklet" feature to DM verity target.
       This feature gives users the option to improve IO latency by using a
       tasklet to verify, using hashes in bufio's cache, rather than wait to
       schedule a work item via workqueue. But if there is a bufio cache
       miss, or an error, then the tasklet will fallback to using workqueue.
    
     - Incremental changes to both dm-bufio and the DM verity target to use
       jump_label to minimize cost of branching associated with the niche
       "try_verify_in_tasklet" feature. DM-bufio in particular is used by
       quite a few other DM targets so it doesn't make sense to incur
       additional bufio cost in those targets purely for the benefit of this
       niche verity feature if the feature isn't ever used.
    
     - Optimize verity_verify_io, which is used by both workqueue and
       tasklet based verification, if FEC is not configured or tasklet based
       verification isn't used.
    
     - Remove DM verity target's verify_wq's use of the WQ_CPU_INTENSIVE
       flag since it uses WQ_UNBOUND. Also, use the WQ_HIGHPRI flag if
       "try_verify_in_tasklet" is specified.
    
    * tag 'for-6.0/dm-changes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
      dm verity: have verify_wq use WQ_HIGHPRI if "try_verify_in_tasklet"
      dm verity: remove WQ_CPU_INTENSIVE flag since using WQ_UNBOUND
      dm verity: only copy bvec_iter in verity_verify_io if in_tasklet
      dm verity: optimize verity_verify_io if FEC not configured
      dm verity: conditionally enable branching for "try_verify_in_tasklet"
      dm bufio: conditionally enable branching for DM_BUFIO_CLIENT_NO_SLEEP
      dm verity: allow optional args to alter primary args handling
      dm verity: Add optional "try_verify_in_tasklet" feature
      dm bufio: Add DM_BUFIO_CLIENT_NO_SLEEP flag
      dm bufio: Add flags argument to dm_bufio_client_create
    20cf903a
dm-ebs-target.c 12.3 KB