Re: [PATCH 2/2] staging: vc04_services: Replace dmac_map_area with dmac_map_sg

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

 



On Mon, 2016-10-24 at 15:24 +0200, Greg KH wrote:
> On Sun, Oct 23, 2016 at 10:29:32PM -0700, mzoran@xxxxxxxxxxxx wrote:
> > From: Michael Zoran <mzoran@xxxxxxxxxxxx>
> > 
> > The original arm implementation uses dmac_map_area which is not
> > portable.  Replace it with an architecture neutral version
> > which uses dma_map_sg.
> > 
> > As you can see that for larger page sizes, the dma_map_sg
> > implementation is faster then the original unportable dma_map_area
> > implementation.  
> > 
> > Test                       dmac_map_area   dma_map_page dma_map_sg
> > vchiq_test -b 4 10000      51us/iter       76us/iter    76us
> > vchiq_test -b 8 10000      70us/iter       82us/iter    91us
> > vchiq_test -b 16 10000     94us/iter       118us/iter   121us
> > vchiq_test -b 32 10000     146us/iter      173us/iter   187us
> > vchiq_test -b 64 10000     263us/iter      328us/iter   299us
> > vchiq_test -b 128 10000    529us/iter      631us/iter   595us
> > vchiq_test -b 256 10000    2285us/iter     2275us/iter  2001us
> > vchiq_test -b 512 10000    4372us/iter     4616us/iter  4123us
> > 
> > For message sizes >= 64KB, dma_map_sg is faster then dma_map_page.
> > 
> > For message size >= 256KB, the dma_map_sg is the fastest
> > implementation.
> 
> What is the "normal" message size value when using this driver?
> 
> thanks,
> 
> greg k-h

I honestly have no idea.  From what I understand, the only code that
actually uses this code path is the closed source multimedia drivers
which I know nothing about.

Obviously, one approach would be to have the kernel collect data on
what the typical size is after running some benchmarks.


_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel




[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux