HomeFreeBSD

Refactor CTL datamove KPI.

Description

Refactor CTL datamove KPI.

  • Make frontends call unified CTL core method ctl_datamove_done()

to report move completion. It allows to reduce code duplication
in differerent backends by accounting DMA time in common code.

  • Add to ctl_datamove_done() and be_move_done() callback samethr

argument, reporting whether the callback is called in the same
context as ctl_datamove(). It allows for some cases like iSCSI
write with immediate data or camsim frontend write save one context
switch, since we know that the context is sleepable.

  • Remove data_move_done() methods from struct ctl_backend_driver,

unused since forever.

MFC after: 1 month

(cherry picked from commit 2c7dc6bae9fd5c2fa0a65768df8e4e99c2f159f1)

Details

Provenance
mavAuthored on Feb 21 2021, 9:45 PM
Parents
rGd0b1f461e248: Microoptimize CTL I/O queues.
Branches
Unknown
Tags
Unknown