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

Reply via email to