In that case, since the packets have been prefetched on enqueue, would it be necessary to prefetch the packets again upon dequeue?
As an example, DPDK's QoS scheduler only prefetches on enqueue (using a packet pipeline to hide prefetch latency). On Wed, Feb 26, 2020 at 8:55 PM Stephen Hemminger < [email protected]> wrote: > On Wed, 26 Feb 2020 16:08:17 +0530 > "Avinash ." <[email protected]> wrote: > > > Hi all, > > The DPDK QoS scheduler has a 4-stage pipeline for enqueuing the packets. > > This is used for hiding the latency of prefetching the data structures. > > Why is there no pipeline for dequeuing the packets? > > How does the dequeue function maintain the state of a packet? In other > > words, if I want to backtrace the packet that is dequeued to get the info > > of what was the traffic class and from which queue the packet was > dequeued. > > Is there any way to get this. > > > > Thanks, > > Avinash. > > Prefetching after receive burst is the responsibility of the application. > You can't prefetch until the data arrives, and the amount and policy > for prefetch depends on the timing of the application. > > There simple examples in DPDK and more complex in how FD.io VPP does it. > -- Archit Pandey Senior Year B.Tech. Department of Computer Science and Engineering National Institute of Technology Karnataka Surathkal, India
