Hi Reshma, > -----Original Message----- > From: [email protected] [mailto:[email protected]] > Sent: Thursday, September 20, 2018 8:09 PM > To: [email protected] > Cc: [email protected] > Subject: RE: Incorrect latencystats implementation > > > > > -----Original Message----- > > From: [email protected] [mailto:[email protected]] > > Sent: Wednesday, September 19, 2018 9:17 AM > > To: Pattan, Reshma <[email protected]> > > Cc: [email protected]; Bao-Long Tran <[email protected]> > > Subject: Incorrect latencystats implementation > > > > > > I have submit a patch to implement the trivial fix. For the drop case > > I can think of 2 options. We can either clear timestamp when putting > > mbufs back to their pool, or change lib latencystats implementation to > > perform packet selection at TX callback and let RX callback add timestamp > to every packet. > > Both option could affect performance but I think the second option is > > less aggressive. > > What happens when applications drop the packets? Do they free the mbuf? > In such case, can application set the timestamp to 0 before freeing the mbuf, > instead of making these changes in latency library.? >
Yes, applications can set the mbuf timestamp before freeing. But in my opinion that would not be a clean solution. Applications should not have to worry about the timestamp field at all, since that is an implementation detail of the library. For simple apps, wrapping rte_pktmbuf_free() to perform timestamp reset could be done without much hassle, but that kind of ad-hoc solution would become messy for more complex ones where packets are dropped at different places. From a usability point of view, as an user I want the lib to provide latency measurements without me having to touch existing codebase other than adding codes that use the APIs. > Regards, > Reshma Thanks and regards, BL

