> This patchset introduces a new memory allocator for persistent > pages for zcache. The current allocator is xvmalloc. xvmalloc > has two notable limitations: > * High (up to 50%) external fragmentation on allocation sets > PAGE_SIZE/2 > * No compaction support which reduces page reclaimation > > xcfmalloc seeks to fix these issues by using scatter-gather model that > allows for cross-page allocations and relocatable data blocks. > > In tests, with pages that only compress to 75% of their original > size, xvmalloc had an effective compression (pages stored / pages used by the > compressed memory pool) of ~95% (~20% lost to fragmentation). Almost nothing > was gained by the compression in this case. xcfmalloc had an effective > compression of ~77% (about ~2% lost to fragmentation and metadata overhead). Hi Seth -- Do you have any data comparing xcfmalloc vs xvmalloc for compression ratio and/or performance (cycles to compress or decompress different pages) on a wide(r) range of data? Assuming xcfmalloc isn't "always better", maybe it would be best to allow the algorithm to be selectable? (And then we would also need to decide the default.) (Hopefully Nitin will have a chance to comment, since he has much more expertise in compression than I do.) Thanks, Dan _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel