Hi Gavin:

        in vPMD, we read 4 or 8 packets as batch, we count DD bits for packet 
received, but not check the if they are continues or not, we assume it should 
always be 1000, 1100, 1110, 1111 ....(take batch size is 4 as example)
        while the out of order read instruction generated by compiler will 
cause driver to get un-continues DD bits, like 1011, the descriptor on the hole 
actually is invalid since when it is read , descriptor is not write back yet, 
but we still process this as 1110, it cause an corrupted mbuf returned.
        
        hope this is helpful.

Regards
Qi

> -----Original Message-----
> From: Gavin Hu (Arm Technology China) [mailto:[email protected]]
> Sent: Thursday, July 25, 2019 5:57 PM
> To: Zhang, Qi Z <[email protected]>; Richardson, Bruce
> <[email protected]>; Ananyev, Konstantin
> <[email protected]>
> Cc: [email protected]; Honnappa Nagarahalli
> <[email protected]>; Phil Yang (Arm Technology China)
> <[email protected]>
> Subject: i40e vPMD fix out of order Rx read issue
> 
> Hi Qi,
> 
> I am working on optimizing the i40e vPMD on aarch64 and I see this patch
> relevant.
> Could you illuminate what issue this patch was fixing?
> I understand the PMD works at the driver layer, for delivery of L2 packets.
> It does not own the responsibility to keep order(the responsibility lies with 
> the
> protocol stack, like TCP)?
> 
> http://patches.dpdk.org/patch/16665/
> 
> Best regards,
> Gavin
> 
> IMPORTANT NOTICE: The contents of this email and any attachments are
> confidential and may also be privileged. If you are not the intended 
> recipient,
> please notify the sender immediately and do not disclose the contents to any
> other person, use it for any purpose, or store or copy the information in any
> medium. Thank you.

Reply via email to