http://kor.i2p/books/The%20C%20Programming%20Language%20by%20K&R/chapter8.html
The search for
a free block of adequate size begins at the point ( freep ) where the
last block was found; this strategy helps keep the list homogeneous. If a
too-big block is found, the tail end is returned to the user; in this way the
header of the original needs only to have its size adjusted.