User Tools

Site Tools


mywiki:linux:cache

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
mywiki:linux:cache [2016/01/29 14:02] supermywiki:linux:cache [2019/09/15 18:55] (current) – external edit 127.0.0.1
Line 1: Line 1:
-Linux Cache Operation+Linux Cache Operation & Address Conversion
  
-| Invalidate | stale data problem | dma_cache_inv(unsigned long address unsigned long size) | +====== Linux Cache Operation ====== 
-| Flush/write back | any dirty cache | dma_cache_wback(unsigned long address, unsigned long size) \\  **dma_cache_wback_inv**(unsigned long address, unsigned long size)--flushes the cache lines to main memory first and then invalidates them from the cache |+  
 +| opt | Term | API | 
 +| Invalidate | stale data problem | **dma_cache_inv**(unsigned long address unsigned long size) | 
 +| Flush/write back | any dirty cache | dma_cache_wback/**dma_cache_wback_inv**(unsigned long address, unsigned long size) |
  
-Note: For dma_cache_wback: In theory, for write back caches an invalidate kills the cache line only without actually writing the data out, thus destroying the data in the cache.A safer thing to do in this case is issue a flush and  +Note: For dma_cache_wback, in theory, for write back caches an invalidate kills the cache line only without actually writing the data out, thus destroying the data in the cache. A safer thing to do in this case is issue a flush and invalidate instruction
-invalidate instruction+
  
 +
 +====== Address Conversion ======
 +<include\asm\addrspace.h>
 +
 +| CPHYSADDR | get its physical address |
 +
  
  
  
mywiki/linux/cache.1454047365.txt.gz · Last modified: (external edit)