Cache object sizing: - lbdcache size: multiple of num_online_cpus(). - lbatviewcache: Min: one. Max: one per lbd. Avg: 1/2 lbdcache size. => Alloc 1/2 lbdcache size. - lbpatpage cache: Min: lbatviewcache size. Max: 2 * lbatviewcache size. Avg: 1.5 * lbatviewcache size. => alloc 1.5 * lbatviewcache size. - pbatcache size: Min: 1 Max: lbatviewcache size. Avg: 1/2 lbatviewcache size. => alloc ??? 1/2 lbatviewcache size is way too large. Ratio of lbatview to pbat is 1:lbat_per_pbat. TODO: - Implement vectorized lbatview_elem_pblk(). - Implement stats. - Keep working lbd, flush on timer. Need per-cpu lbd. - Move back to module based build system. - Create utilities for: - Resizing a compressed device. - Checking and repairing a compressed device. - Check parameters in compress_ctr: - Compressed device must be large enough. - Backing device must be large enough. - Remove workqueue.