I'm a little unclear on David Miller's design constraint "2) No
cli()'s on any code path whatsoever". Doesn't __get_free_pages do
all kinds of locking (including possibly synchronous disk I/O!),
and doesn't *any* kernel memory allocator need to call that
sometimes? David, can you clarify?
Here what I meant was "no cli()'s in the local processor cache hit
case", nothing more.