On 04/16/2018 04:37 PM, Mikulas Patocka wrote: >>> Can you or Mikulas briefly summarize how the dependency is avoided, and >>> whether if (something like) SLAB_MINIMIZE_WASTE were implemented, the >>> dm-bufio code would happily switch to it, or not? >> >> git log eeb67a0ba04df^..45354f1eb67224669a1 -- drivers/md/dm-bufio.c >> >> But the most signficant commit relative to SLAB_MINIMIZE_WASTE is: >> 359dbf19ab524652a2208a2a2cddccec2eede2ad ("dm bufio: use slab cache for >> dm_buffer structure allocations") >> >> So no, I don't see why dm-bufio would need to switch to >> SLAB_MINIMIZE_WASTE if it were introduced in the future. > > Currently, the slab cache rounds up the size of the slab to the next power > of two (if the size is large). And that wastes memory if that memory were > to be used for deduplication tables. > > Generally, the performance of the deduplication solution depends on how > much data can you put to memory. If you round 640KB buffer to 1MB (this is > what the slab and slub subsystem currently do), you waste a lot of memory. > Deduplication indices with 640KB blocks are already used in the wild, so > it can't be easily changed. Thank you both for the clarification. Vlastimil > >> Mike > > Mikulas >