title: pci_alloc_consistent uncached memory
body: <p>Is it fair to say that <code>pci_alloc_consistent</code> allocates a contiguous non-cached, non-paged kernel memory chunk. The reason I'm asking is that I saw this comment in some kernel/driver code (not in vanilla kernel sources), and I think I understand that the memory is presented as contiguous, however not sure that it's allocated non-cached, because the idea of cache coherency is to maintain data in the cache and DMA memory consistent.</p>
  
  <p>Also, not sure why they call it non-paged.</p>
  
  <p>E.g. <a href="https://www.kernel.org/doc/Documentation/DMA-API.txt" rel="nofollow">https://www.kernel.org/doc/Documentation/DMA-API.txt</a> in section <code>Part Ia</code> says:</p>
  
  <p><em>Consistent memory is memory for which a write by either the device or
  the processor can immediately be read by the processor or device
  without having to worry about caching effects.</em></p>
  
  <p>So one can't infer that the memory is <em>non-cached</em>, so I tend to think that comments I saw are somewhat misleading.</p>
  
  <p>I would appreciate to get useful comments. Thanks!</p>