[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200128124403.GV2841@vkoul-mobl>
Date: Tue, 28 Jan 2020 18:14:03 +0530
From: Vinod Koul <vkoul@...nel.org>
To: Vignesh Raghavendra <vigneshr@...com>
Cc: Peter Ujfalusi <peter.ujfalusi@...com>, dmaengine@...r.kernel.org,
linux-kernel@...r.kernel.org, dan.j.williams@...el.com,
grygorii.strashko@...com
Subject: Re: [PATCH for-next 1/4] dmaengine: ti: k3-udma: Use
ktime/usleep_range based TX completion check
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
Powered by blists - more mailing lists