Re: [PATCH for-next 1/4] dmaengine: ti: k3-udma: Use ktime/usleep_range based TX completion check

From: Vinod Koul
Date: Tue Jan 28 2020 - 07:44:12 EST


On 28-01-20, 17:35, Vignesh Raghavendra wrote:

> >> + /* Transfer is incomplete, store current residue and time stamp */
> >> if (peer_bcnt < bcnt) {
> >> uc->tx_drain.residue = bcnt - peer_bcnt;
> >> - uc->tx_drain.jiffie = jiffies;
> >> + uc->tx_drain.tstamp = ktime_get();
> >
> > Any reason why ktime_get() is better than jiffies..?
>
> Resolution of jiffies is 4ms. ktime_t is has better resolution (upto ns
> scale). With jiffies, I observed that code was either always polling DMA
> progress counters (which affects HW data transfer speed) or sleeping too
> long, both causing performance loss. Switching to ktime_t provides
> better prediction of how long transfer takes to complete.

Thanks for explanation, i think it is good info to add in changelog.

--
~Vinod