Backport zcache and zsmalloc from 3.4