Only one allocation function: uvm_pmr_getpages(size, low, high, align, boundary, zero|wait) complexity - worst case:s log(r) - average case:log(r) r = memory ranges, benefits from keeping fragmentation down s = number of segments