HomeFreeBSD

cxgbei: Add support for zero-copy iSCSI target transmission/read.

Description

cxgbei: Add support for zero-copy iSCSI target transmission/read.

  • Switch to allocating the cxgbei version of icl_pdu explicitly as a separate refcounted object allocated via malloc/free instead of storing it in the bhs mbuf prior to the bhs.
  • Support the icl_conn_pdu_queue_cb() method to set a callback on a PDU to be invoked when the PDU is freed.
  • For ICL_NOCOPY buffers, use an external mbuf to manage the storage for the buffer via m_extaddref(). Each external mbuf holds a reference on the associated PDU, so the callback is invoked once all of the external mbufs have been freed.

Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D29910

Details

Provenance
jhbAuthored on May 14 2021, 7:17 PM
Differential Revision
D29910: cxgbei: Add support for zero-copy iSCSI target transmission/read.
Parents
R10:31df8ff73e3a: cxgbei: Rework the pdu_append_data hook to support M_WAITOK.
Branches
Unknown
Tags
Unknown