Hi Reshma, > -----Original Message----- > From: reshma.pat...@intel.com [mailto:reshma.pat...@intel.com] > Sent: Thursday, September 20, 2018 8:09 PM > To: long...@viettel.com.vn > Cc: dev@dpdk.org > Subject: RE: Incorrect latencystats implementation > > > > > -----Original Message----- > > From: long...@viettel.com.vn [mailto:long...@viettel.com.vn] > > Sent: Wednesday, September 19, 2018 9:17 AM > > To: Pattan, Reshma <reshma.pat...@intel.com> > > Cc: dev@dpdk.org; Bao-Long Tran <long...@viettel.com.vn> > > 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