> > 8 contiguous pages, pick the first free page and swap
> > the data in the next 7 adjacent pages with other free
>
> b) is impossible: You would have to modify all pointers pointing to
> that memory. Or you would have to use MM tricks which are slow - see
> a).
well, not 'impossible', just 'very hard', probably needs assistance from
the language (GCC), or a heavy rewrite.
-- mingo