RE: [Patch v4] OMAP: sDMA driver: descriptor autoloading feature

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

 



> Venkatraman S wrote: 
> > On Wed, Jan 6, 2010 at 6:46 PM, Adrian Hunter 
> > <adrian.hunter@xxxxxxxxx>
> > wrote: 
> > > Venkatraman S wrote: 
> > > > 
> > > > On Tue, Dec 29, 2009 at 3:18 AM, Tony Lindgren 
> <tony@xxxxxxxxxxx>
> > wrote: 
> > > > > 
> > > > > * Venkatraman S <svenkatr@xxxxxx> [091211 07:01]: 
> > > > > > 
> > > > > > Here is the most updated version of the patch (thanks to 
> > > > > > Russell's review). This patch is applicable to OMAP4xxx as 
> > > > > > well as OMAP3630 Reference to previous posts
> > > > > > v1  http://marc.info/?l=linux-omap&m=125012097403050&w=2
> > > > > > v2  http://marc.info/?l=linux-omap&m=125137152606644&w=2
> > > > > > v3  http://patchwork.kernel.org/patch/45408/
> > > > > 
> > > > > Do you have a patch for drivers/mmc/host/omap_hsmmc.c to use 
> > > > > this feature? Or some other driver?
> > > > > 
> > > > > Regards,
> > > > > 
> > > > > Tony
> > > > 
> > > > I am about to start working on omap_hsmmc to use the descriptor 
> > > > load feature. If the DMA changes are acceptable, I can post the 
> > > > driver patch as well.
> > > 
> > > I presume this is about performance.  How does it compare 
> to chained
> > DMA? 
> > > We have a patch for omap_hsmmc for chained DMA that we are still
> > testing. 
> > > 
> >  The main difference would be the number of logical channels used. 
> > With chaining, I assume you'd request for (or the API internally
> > reserves) as many logical channels as there are segments. Here a  
> >single logical channel would do.
> > 
> 
> How does the performance compare? Which is faster? Does 
> descriptor autoloading reduce the number of interrupts? 
> >>
> This should improve the perforamance compared to chaining  
> case. This features emulates scatter gather transfers 
> capability with minimum MPU support by removing the 
> successive channel configuration processing and the 
> associated interrupt handling overheads. 
> This is apart from optimize channel resources by enabling 
> efficient transfer “serialization” on a single logical 
> channel versus concurrent (multiple) logical channel usage. 
> 
> Regards,
> Santosh
> 

We have not done full benchmark tests yet, but as Santosh mentioned,
1) Only one logical channel is used.
2) No interrupts are generated till the end of transfer of the entire scatterlist.
(Infact, multiple scatterlists can be combined by the user driver to a single
descriptor list, and no IRQs would be generated till the entire transfer completes.
If needed, the descriptors can be programmed to generate interrupt(s) at any point.)
This should yield better performance / CPU utilization than chaining.

Regards,
Venkat.

��.n��������+%������w��{.n�����{�������ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux