On 17/02/2021 19:00, David Ahern wrote:
> On 2/17/21 7:01 AM, Or Gerlitz wrote:
@@ -1136,6 +1265,10 @@ static int nvme_tcp_try_send_cmd_pdu(struct
nvme_tcp_request *req)
else
flags |= MSG_EOR;
+ if (test_bit(NVME_TCP_Q_OFF_DDP, &queue->flags) &
On 2/17/21 7:01 AM, Or Gerlitz wrote:
>>> @@ -1136,6 +1265,10 @@ static int nvme_tcp_try_send_cmd_pdu(struct
>>> nvme_tcp_request *req)
>>> else
>>> flags |= MSG_EOR;
>>>
>>> + if (test_bit(NVME_TCP_Q_OFF_DDP, &queue->flags) &&
>>> + blk_rq_nr_phys_segments(rq) && r
On Sun, Feb 14, 2021 at 8:30 PM David Ahern wrote:
>
> On 2/11/21 2:10 PM, Boris Pismenny wrote:
> >
> > +static int nvme_tcp_teardown_ddp(struct nvme_tcp_queue *queue,
> > + u16 command_id,
> > + struct request *rq)
> > +{
> > + struct
On 2/11/21 2:10 PM, Boris Pismenny wrote:
>
> +static int nvme_tcp_teardown_ddp(struct nvme_tcp_queue *queue,
> + u16 command_id,
> + struct request *rq)
> +{
> + struct nvme_tcp_request *req = blk_mq_rq_to_pdu(rq);
> + struct net_
Introduce the NVMe-TCP DDP data-path offload.
Using this interface, the NIC hardware will scatter TCP payload directly
to the BIO pages according to the command_id in the PDU.
To maintain the correctness of the network stack, the driver is expected
to construct SKBs that point to the BIO pages.
Th