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