cbd/TODO

40 lines
1.2 KiB
Plaintext
Raw Normal View History

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:
2019-11-02 17:42:56 +01:00
- Allocate pbat pages using allocv and vmap them
(but only when pbat_len() > 1).
2019-11-01 22:41:11 +01:00
Can we vmap compression workspace?
- In *cache_get, call *_reset outside cache lock.
- Implement vectorized lbatview_elem_pblk().
- Dirty flag in compress header.
- 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.