my C2D 4MB L2 cache 2.33GHz CPU cannot cope with the amount of data it needs to compress during heavy sequential IO when cleancache/zcache are enabled. for an example, I get 60-70MB/s from my RAID arrays and both CPU cores are saturated with system (kernel) time. without cleancache, each RAID gives me more then 300MB/s. so, using cleancache in scenarios with a lot of non-random data throughput can lead to very ugly performance degradation. I understand that it's on upstream to take care of it, but I wanted to report it here to be sure if this idea is good enough. the idea is that cleancache/zcache should implement some kind of compression throttling vavle: - if there's available CPU time, then compress; - if there's no avalable CPU time, just store (or throw away); at least, there should be a warning in kernel help about this kind of situations.
as I've seen great interest in this report here :), I've reported it upstream nevertheless: https://lkml.org/lkml/2011/8/17/351 closing this bug for gentoo.