This set of patches represents the freezer upgrade patches from Suspend2.

The key features of this changeset are:

- Use of Christoph Lameter's todo list notifiers, which help with SMP cleanness.- Splitting the freezing of kernel and userspace processes. Freezing currently suffers from a race because userspace processes can be submitting work for kernel threads, thereby stopping them from responding to freeze messages in a timely manner. The freezer can thus give up when it doesn't really need to. (This is not normally a problem only because load is not usually high).- The use of bdev freezing to ensure filesystems are properly frozen, thereby increasing the integrity of on-disk data in the case where a resume doesn't occur. This is also helpful in the case of Suspend2, where we don't atomically copy all memory, instead writing LRU pages separately.