Re: [PATCH] dmaengine: pl08x: be fair when re-assigning physical channel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jean-Nicolas,

thanks for your patch!

You will have to resent the patch to the DMAengine list and the maintainer
(Vinod).

Out of curiosity: what platform are you using this on?

On Fri, Mar 1, 2019 at 5:18 PM Jean-Nicolas Graux
<jean-nicolas.graux@xxxxxx> wrote:

> Current way we find a waiting virtual channel for the next transfer
> at the time one physical channel becomes free is not really fair.
>
> More in details, in case there is more than one channel waiting at a time,
> by just going through the arrays of memcpy and slave channels and stopping
> as soon as state match waiting state, channels with high indexes can be
> penalized.
>
> Whenever dma engine is substantially overloaded so that we constantly
> get several channels waiting, channels with highest indexes might not
> be served for a substantial time which in the worse case, might hang
> task that wait for dma transfer to complete.
>
> This patch makes physical channel re-assignment more fair by storing
> time in jiffies when a channel is put in waiting state. Whenever a
> physical channel has to be re-assigned, this time is used to select
> channel that is waiting for the longest time.
>
> Signed-off-by: Jean-Nicolas Graux <jean-nicolas.graux@xxxxxx>

That's a neat trick, look like a good idea. Please add some
comment in the code in pl08x_phy_free() so it is clear
what is going on for people reading the code, with that:
Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx>

Yours,
Linus Walleij



[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux PCI]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux