That's not true. The compression and encryption support add ~1000 lines, as you pointed out the other day. If I moved compression and encryption support to userspace, I'd remove 1000 lines and:
- add more code for getting the pages copied to and from userspace
- require the user to get and build $LIBRARIES for doing the compression
- require the user to get and build $HELPER for doing the interface to Suspend2
- fail to leverage the perfectly good cryptoapi routines that are already there
- slow the whole process down because I'd now have a copy to userspace for every page being compressed/encrypted and a copy from userspace for every output page.
- make life more complicated for distro maintainers and users because they'd have another set of dependencies to worry about and mess with.
I'm not saying it's impossible. I'm just saying it would make suspending more complicated, at least potentially slower and more of a pain for everyone.