On Thu, May 20, 2021 at 04:46:52PM +0300, Vladimir Oltean wrote: > Hi Yunsheng, > > On Thu, May 20, 2021 at 05:45:14PM +0800, Yunsheng Lin wrote: > > On 2021/5/20 17:27, Yunsheng Lin wrote: > > > Patch 1: remove unnecessary seqcount operation. > > > Patch 2: implement TCQ_F_CAN_BYPASS. > > > Patch 3: remove qdisc->empty. > > > > > > RFC v4: Use STATE_MISSED and STATE_DRAINING to indicate non-empty > > > qdisc, and add patch 1 and 3. > > > > @Vladimir, Ahmad > > It would be good to run your testcase to see if there are any > > out of order for this version, because this version has used > > STATE_MISSED and STATE_DRAINING to indicate non-empty qdisc, > > thanks. > > > > It is based on newest net branch with qdisc stuck patchset. > > > > Some performance data as below: > > > > pktgen + dummy netdev: > > threads without+this_patch with+this_patch delta > > 1 2.60Mpps 3.18Mpps +22% > > 2 3.84Mpps 5.72Mpps +48% > > 4 5.52Mpps 5.52Mpps +0.0% > > 8 2.77Mpps 2.81Mpps +1.4% > > 16 2.24Mpps 2.29Mpps +2.2% > > > > IP forward testing: 1.05Mpps increases to 1.15Mpps > > I will start the regression test with the flexcan driver on LS1028A and > let you know tomorrow or so if there is any TX reordering issue. 14 million CAN frames later, I did not observe any TX reordering at all.