Simplify the search for free space in the reservation by finding the beginnings and ends of free ranges using xor. Use arithmetic, instead of iteration, to find addresses that satisfy alignment and boundary conditions.
The means of finding ranges of free pages was changed for vm_reserv_break in r348484, and there was found to improve performance minutely and reduce code size. This change applies a similar change to vm_reserv_reclaim_config, expecting similar benefits. This change also allows quick rejection of page ranges that are unsuitable on account of alignment or boundary issues, where those issues are processed a page at a time in the current implementation.
Tested by: pho