diff options
Diffstat (limited to 'Documentation/memory-barriers.txt')
| -rw-r--r-- | Documentation/memory-barriers.txt | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Documentation/memory-barriers.txt b/Documentation/memory-barriers.txt index d336e4d42029..8e7cf9ad3db1 100644 --- a/Documentation/memory-barriers.txt +++ b/Documentation/memory-barriers.txt | |||
| @@ -1710,6 +1710,17 @@ There are some more advanced barrier functions: | |||
| 1710 | operations" subsection for information on where to use these. | 1710 | operations" subsection for information on where to use these. |
| 1711 | 1711 | ||
| 1712 | 1712 | ||
| 1713 | (*) lockless_dereference(); | ||
| 1714 | This can be thought of as a pointer-fetch wrapper around the | ||
| 1715 | smp_read_barrier_depends() data-dependency barrier. | ||
| 1716 | |||
| 1717 | This is also similar to rcu_dereference(), but in cases where | ||
| 1718 | object lifetime is handled by some mechanism other than RCU, for | ||
| 1719 | example, when the objects removed only when the system goes down. | ||
| 1720 | In addition, lockless_dereference() is used in some data structures | ||
| 1721 | that can be used both with and without RCU. | ||
| 1722 | |||
| 1723 | |||
| 1713 | (*) dma_wmb(); | 1724 | (*) dma_wmb(); |
| 1714 | (*) dma_rmb(); | 1725 | (*) dma_rmb(); |
| 1715 | 1726 | ||
