Hi Sebastian, On Monday 01 August 2011 10:51:36 Sebastian Andrzej Siewior wrote: > * Alan Stern | 2011-07-30 09:03:50 [-0400]: > >> Sounds like it is a arch dependent problem, and not much related with > >> usb. > > > >Yes indeed. Coherent buffers are allocated in uncached memory on some > >architectures, which makes them very expensive to access. But other > >architectures can use cached memory, which makes coherent buffers > >less expensive than non-coherent ones since no DMA mapping is required. > > > >This makes for a difficult tradeoff. Historically, I think the balance > >in USB has been tipped in favor of x86. > > > >For something as time-critical as uvcvideo, it might make sense for the > >driver to implement both options in arch-dependent code. > > What about using kmalloc() + dma_map_single() + dma_unmap_single() > instead of arch dependend code in drivers? Those are nops x86 and > perform the required syncs on other architectures. Do you mean creating and tearing down the mapping for each transform ? Isn't that very costly on many non-x86 platforms ? -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html