diff options
| author | Dan Williams <[email protected]> | 2014-01-21 15:48:12 -0800 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2014-01-21 16:19:41 -0800 |
| commit | 0abdd7a81b7e3fd781d7fabcca49501852bba17e (patch) | |
| tree | 20ab3aa4b476ceaf6d3a824c842cd581445ded8b /include/linux/timerqueue.h | |
| parent | 03d11a0e458d7008192585124e4c3313c2829046 (diff) | |
dma-debug: introduce debug_dma_assert_idle()
Record actively mapped pages and provide an api for asserting a given
page is dma inactive before execution proceeds. Placing
debug_dma_assert_idle() in cow_user_page() flagged the violation of the
dma-api in the NET_DMA implementation (see commit 77873803363c "net_dma:
mark broken").
The implementation includes the capability to count, in a limited way,
repeat mappings of the same page that occur without an intervening
unmap. This 'overlap' counter is limited to the few bits of tag space
in a radix tree. This mechanism is added to mitigate false negative
cases where, for example, a page is dma mapped twice and
debug_dma_assert_idle() is called after the page is un-mapped once.
Signed-off-by: Dan Williams <[email protected]>
Cc: Joerg Roedel <[email protected]>
Cc: Vinod Koul <[email protected]>
Cc: Russell King <[email protected]>
Cc: James Bottomley <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'include/linux/timerqueue.h')
0 files changed, 0 insertions, 0 deletions