Skip to content

Commit

Permalink
doc: page_pool, update that DMA_ATTR_SKIP_CPU_SYNC can also provide w…
Browse files Browse the repository at this point in the history
…ritable pages

This relates to kernel commits:

Commit bd4171a5d4c2 ("igb: update code to better handle incrementing page count")
Commit 5be5955425c2 ("igb: update driver to make use of DMA_ATTR_SKIP_CPU_SYNC")
Commit 44fdffd70504 ("mm: add support for releasing multiple instances of a page")
Commit 0495c3d36794 ("dma: add calls for dma_map_page_attrs and dma_unmap_page_attrs")
Commit 4bfa135abec9 ("arch/xtensa: add option to skip DMA sync as a part of mapping")
Commit 33c77e53d838 ("arch/tile: add option to skip DMA sync as a part of map and unmap")
Commit 68bbc28f616c ("arch/sparc: add option to skip DMA sync as a part of map and unmap")
Commit a08120017d7d ("arch/sh: add option to skip DMA sync as a part of mapping")
Commit 6f774809612d ("arch/powerpc: add option to skip DMA sync as a part of mapping")
Commit f50a2bd298b4 ("arch/parisc: add option to skip DMA sync as a part of map and unmap")
Commit 043b42bcbbc6 ("arch/openrisc: add option to skip DMA sync as a part of mapping")
Commit abdf4799dac6 ("arch/nios2: add option to skip DMA sync as a part of map and unmap")
Commit 9f318d470e37 ("arch/mips: add option to skip DMA sync as a part of map and unmap")
Commit 98ac2fc274e0 ("arch/microblaze: add option to skip DMA sync as a part of map and unmap")
Commit 38bdbdc7e391 ("arch/metag: add option to skip DMA sync as a part of map and unmap")
Commit 5140d2344f10 ("arch/m68k: add option to skip DMA sync as a part of mapping")
Commit b8a346dd472a ("arch/hexagon: Add option to skip DMA sync as a part of mapping")
Commit 34f8be79a772 ("arch/frv: add option to skip sync on DMA map")
Commit 64c596b59c72 ("arch/c6x: add option to skip sync on DMA map and unmap")
Commit 8c16a2e209d5 ("arch/blackfin: add option to skip sync on DMA map")
Commit e8b4762c2258 ("arch/avr32: add option to skip sync on DMA map")
Commit fc1b138de791 ("arch/arm: add option to skip sync on DMA map and unmap")
Commit 8a3385d2d47c ("arch/arc: add option to skip sync on DMA mapping")

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
  • Loading branch information
netoptimizer committed Mar 6, 2017
1 parent 0793521 commit c152b83
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions kernel/Documentation/vm/page_pool/introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,10 @@ Advantages of a recycling page pool as bullet points:
2) DMA IOMMU mapping cost is removed by keeping pages mapped.

3) Makes DMA pages writable by predictable DMA unmap point.
(**UPDATE** kernel v4.10: This can also be acheived via
`Alexander Duyck`_'s changes to the DMA API, namely using
DMA_ATTR_SKIP_CPU_SYNC_, which skips DMA sync as a part the unmap,
but requires driver to carefully DMA sync needed memory)

4) OOM protection at device level, as having a feedback-loop knows
number of outstanding pages.
Expand All @@ -63,3 +67,9 @@ Advantages of a recycling page pool as bullet points:

6) Less fragmentation of the page buddy algorithm, when driver
maintains a steady-state working-set.


.. _`Alexander Duyck`: https://twitter.com/alexanderduyck

.. _DMA_ATTR_SKIP_CPU_SYNC:
https://github.com/torvalds/linux/blob/v4.10/Documentation/DMA-attributes.txt#L71

0 comments on commit c152b83

Please sign in to comment.