[lkml]   [2009]   [Aug]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: How to efficiently handle DMA and cache on ARMv7 ? (was "Is get_user_pages() enough to prevent pages from being swapped out ?")
    David Xiao wrote:
    > > However, that won't work with ARMv7's speculative prefetching. I'm
    > > afraid with such things, DMA direct into userspace mappings becomes a
    > > _lot_ harder, and lets face it, lots of Linux drivers just aren't going
    > > to bother supporting this - we can't currently get agreement to have an
    > > API to map DMA coherent pages into userspace!
    > The V7 speculative prefetching will then probably apply to DMA coherency
    > issue in general, both kernel and user space DMAs. Could this be
    > addressed by inside the dma_unmap_sg/single() calling dma_cache_maint()
    > when the direction is DMA_FROM_DEVICE/DMA_BIDIRECTIONAL, to basically
    > invalidate the related cache lines in case any filled by prefetching?
    > Assuming dma_unmap_sg/single() is called after each DMA operation is
    > completed.

    If it's possible, surely its essential because of O_DIRECT file and
    block I/O?

    -- Jamie

     \ /
      Last update: 2009-08-07 12:27    [W:0.020 / U:57.836 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site