I&#x27;d say a cache isn&#x27;t the right structure for passing around data (or references to data) that you know will be accessed very soon by completely different code.<p>As userland code, you&#x27;d like to grant the OS access to a particular subset of lines in D$ while keeping it out of your C$ altogether.  Traditional implementations fail in both respects.... and at the same time, the OS probably can&#x27;t take advantage of its own historical locality because userland has evicted it since the last call.<p>From what other people are saying it sounds like these problems are being worked on, though.