Re: [PATCH] dmaengine: rcar-dmac: Handle hardware descriptor allocation failure

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

 



Hi Vinod,

On Tuesday 09 December 2014 12:09:12 Vinod Koul wrote:
> On Mon, Dec 08, 2014 at 11:20:44PM +0530, Vinod Koul wrote:
> > On Mon, Dec 08, 2014 at 07:40:15PM +0200, Laurent Pinchart wrote:
> > > > > [GIT PULL FOR v3.19] R-Car DMA engine driver
> > > > > http://www.spinics.net/lists/linux-sh/msg37764.html
> > > > 
> > > > And I dont seem to have this request in my Inbox :(
> > > > Yes I do see it in archieves, so not sure how this is not present, not
> > > > sure if the servers mangeled it!!
> > > 
> > > I haven't CC'ed you, I'll make sure to do so next time. The mail should
> > > still have reached you through the mailing list though (I assume you're
> > > subscribed to dmaengine@xxxxxxxxxxxxxxx ;-)).
> > 
> > Yes I am, so should have reached me even though i wasnt cced
> > I do see email reaching me from list without me being in CC, but then it
> > wont hit my inbox and go to ML folder :)
> > So generally its a good practice to CC relvant folks, lots of folks do ask
> > that if ML is high volume
> 
> Hey Laurent,
> 
> I see that the oddity in commitlogs with change since artifacts after SOB,
> can you please fix that up

My bad. I've fixed the problem and pushed the result to the same branch

	git://linuxtv.org/pinchartl/fbdev.git dma/next

The only difference lies in the commit logs.

> 	commit 43dc9ba2b51ccb9124bf6fed614c5053500592a6
> 	Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx>
> 	Date:   Sat Jul 19 00:05:14 2014 +0200
> 
> 	    dmaengine: rcar-dmac: Cache hardware descriptors memory
> 
> 	    Unlike DMA transfers descriptors that are preallocated and cached,
> 	    memory used to store hardware descriptors is allocated and freed with
> 	    the DMA coherent allocation API for every transfer. Besides degrading
> 	    performances, this creates a CMA stress test that seems to cause
> issues. Running dmatest with the noverify option produces
> 
> 	    [   50.066539] alloc_contig_range test_pages_isolated(6b845, 6b846)
> failed [   50.235180] alloc_contig_range test_pages_isolated(6b848, 6b84e)
> failed [   52.964584] alloc_contig_range test_pages_isolated(6b847, 6b848)
> failed [   54.127113] alloc_contig_range test_pages_isolated(6b843, 6b844)
> failed [   56.270253] alloc_contig_range test_pages_isolated(6b84c, 6b850)
> failed
> 
> 	    The root cause needs to be fixed, but in the meantime, as a 
workaround
> 	    and a performance improvement, cache hardware descriptors.
> 
> 	    Signed-off-by: Laurent Pinchart
> <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Tested-by: Wolfram Sang
> <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
> 
> 	    ---
> 
> 	    Changes since v2:
> 
> 	    - Typo fixes
> 	    - Align allocated hwdesc size to page size
> 	    - Ignore allocated hwdesc memory when the transfer doesn't use 
hwdescs
> 
> 	commit feb2e9f12b1a4a871b1d3eb2e2f44255510a79d3
> 	Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx>
> 	Date:   Wed Jul 16 23:15:48 2014 +0200
> 
> 	    dmaengine: rcar-dmac: Implement support for hardware descriptor lists
> 
> 	    The DMAC supports hardware-based auto-configuration from descriptor
> 	    lists. This reduces the number of interrupts required for processing 
a
> 	    DMA transfer. Support that mode in the driver.
> 
> 	    Signed-off-by: Laurent Pinchart
> <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Tested-by: Wolfram Sang
> <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
> 
> 	    ---
> 
> 	    Changes since v2:
> 
> 	    - Typo fixes
> 	    - Use GFP_NOWAIT to allocate hardware descriptors
> 	    - Clear descriptor stage end interrupt when halting the channel
> 
> and many more...

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe dmaengine" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[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