[dpdk-dev] [PATCH] Improve the shaper accuracy for large packets

Stephen Hemminger stephen at networkplumber.org
Sun Jun 11 04:45:26 CEST 2023


On Mon, 8 Apr 2019 13:36:14 +0000
"Dumitrescu, Cristian" <cristian.dumitrescu at intel.com> wrote:

> > -----Original Message-----
> > From: Yigit, Ferruh
> > Sent: Friday, April 5, 2019 4:54 PM
> > To: Dumitrescu, Cristian <cristian.dumitrescu at intel.com>
> > Cc: alanrobertsonatt at gmail.com; dev at dpdk.org; Alan Robertson
> > <ar771e at att.com>; Alan Robertson <alan.robertson at att.com>; Thomas
> > Monjalon <thomas at monjalon.net>
> > Subject: Re: [dpdk-dev] [PATCH] Improve the shaper accuracy for large
> > packets
> > 
> > On 2/9/2018 10:38 AM, alanrobertsonatt at gmail.com wrote:  
> > > From: Alan Robertson <ar771e at att.com>
> > >
> > > There were 2 issues, the first was time could be lost whilst updating
> > > the traffic-class period, the second was a frame could be delayed if
> > > not enough tokens were available for the full frame.  By allowing the
> > > shaper to borrow credit from the next period the throughput is improved.
> > >
> > > Signed-off-by: Alan Robertson <alan.robertson at att.com>  
> > 
> > 
> > Hi Cristian,
> > 
> > Another 'librte_sched' patch waiting for a review for almost a year now, do
> > you
> > know status of this patch?
> > 
> > Thanks,
> > ferruh  
> 
> As previously announced, we are planning to do some improvements on this part of the code [1] and we are planning improve this behavior in a way that is less intrusive and has slightly better performance (due to no branches).
> 
> Regards,
> Cristian
> 
> [1] https://mails.dpdk.org/archives/dev/2018-November/120035.html
> 

This patch is quite old. It looks the original issue was that rte_sched_port_dequeue
is racy if port is shared by multiple lcore's.  The only update to port->time
happens in rte_sched_port_time_resync() frin rte_sched_port_dequeue().

The warnings about thread safety in qos_framework.rst could be improved, but that
is something for another patch in future.



More information about the dev mailing list