title: What special powers does ashmem have?
body: <p>Can someone explain why ashmem was created?</p>
  
  <p>I'm browsing through <code>mm/ashmem.c</code> right now. As near as I can tell, the kernel is thinking of ashmem as file-backed memory that can be mmap'd. But then, why go to the trouble of implementing ashmem? It seems like the same functionality could be achieved by mounting a RAM fs and then using filemap/mmap to share memory.</p>
  
  <p>I'm sure that ashmem can do more fancy stuff -- from looking at the code, it seems to have something to do with pinning/unpinning pages?</p>