RE: [PATCH 4/5] musb: use system DMA for unaligned buffers on RTL >= 1.8

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

 



Hi,
> On Thu, May 13, 2010 at 09:44:11AM +0530, Gupta, Ajay Kumar wrote:
> > Hi,
> > > -----Original Message-----
> > > From: Felipe Balbi [mailto:me@xxxxxxxxxxxxxxx]
> > > Sent: Wednesday, May 12, 2010 11:26 PM
> > > To: Sergei Shtylyov
> > > Cc: Gupta, Ajay Kumar; linux-usb@xxxxxxxxxxxxxxx; linux-
> > > omap@xxxxxxxxxxxxxxx
> > > Subject: Re: [PATCH 4/5] musb: use system DMA for unaligned buffers on
> RTL
> > > >= 1.8
> > >
> > > On Wed, May 12, 2010 at 06:59:52PM +0400, Sergei Shtylyov wrote:
> > > >    Better wrap your stuff into #ifdef OMAP, I think...
> > >
> > > please don't, better to use the bounce buffer... It would work on
> > > blackfin, davinci and omap...
> >
> > Just working is not enough. We need to think of performance and cpu
> > loading as well.
> 
> allocating a bounce buffer doesn't take long and you can still use
> mentor DMA to transfer the data.

But there is a memcpy involved right? It will use cpu and thus would be
hitting on performance, cpu loading and power consumption. Instead why
not use other available system resources (system dma)to do this job.

I understand, some platform may not support/have system dma then they can surely use bounce buffer or use PIO mode.

There was another workaround proposed earlier which was using 'memmove'
(similar to memcpy) that was badly affecting cpu loading. I was hardly getting 50Mbits/sec of throughput with 100% loading. Instead when I tried system DMA, numbers went up to 90Mbits/sec  with a cpu loading of 50%.

I think we must use system DMA for this issue and also have bounce buffer
Or PIO fallback mechanism in place for platforms not supporting system DMA.

Regards,
Ajay
> 
> --
> balbi
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[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