diff --git a/DPDPU/NetworkEngine/Source/PEPOTLDKTCP.c b/DPDPU/NetworkEngine/Source/PEPOTLDKTCP.c index e71d0d0..295be7b 100644 --- a/DPDPU/NetworkEngine/Source/PEPOTLDKTCP.c +++ b/DPDPU/NetworkEngine/Source/PEPOTLDKTCP.c @@ -2857,6 +2857,10 @@ NetfeRxTxProcess( offsetInMsg = 0; totalBytesOfDPUReqs = 0; + RequestIdT firstIndex = FeLcore->ReadOpsTailPointer; + DataPlaneRequestContext* firstCtxt = &(FeLcore->ReadOps[firstIndex].ReadCtxt); + printf("DPU offlaoding firstIndex: %hu\n", firstIndex); + for (i = 0; i != FeLcore->NumReqsForDPU; i++) { ReadOpDescriptorT* readOp = &FeLcore->ReadOps[FeLcore->ReadOpsTailPointer]; readOp->ReadResp.Result = DDS_ERROR_CODE_IO_PENDING; @@ -2888,18 +2892,27 @@ NetfeRxTxProcess( #endif readOp->StreamCtxt = (ContextT)FeStream; - SubmitDataPlaneRequest( + // now batching, don't submit one by one + /* SubmitDataPlaneRequest( FS, &readOp->ReadCtxt, true, DDS_DPU_IO_SLOT_NUMBER_BASE + FeLcore->ReadOpsTailPointer - ); + ); */ + // `SubmitDataPlaneRequest` signature has changed + + readOp->ReadCtxt.IsRead = 1; FeLcore->ReadOpsTailPointer++; if (FeLcore->ReadOpsTailPointer == DDS_MAX_OUTSTANDING_IO) { FeLcore->ReadOpsTailPointer = 0; } } + // + // Batched SubmitDataPlaneRequest() call here + // + // + SubmitDataPlaneRequest(FS, firstCtxt, firstIndex, n); if (FeLcore->NumReqsForHost) { //