Goals We'd like to have Huge Tracts of Buffer Cache When not using memory for other things. Challenges Some machines don't have lots of memory. (We run lots of RASH) The kernel memory map (kva) may be limited on some architectures. We need to know when memory is needed for other things Lots of subsystem interdependence (VFS, UVM, name cache, drivers, etc.) UVM and ilk have been hacked on for years, surely there aren't bugs.