Re: Zram for FreeBSD

From: Sergey Senozhatsky
Date: Mon Oct 10 2016 - 02:44:13 EST


On (10/07/16 17:30), Cory Pruce wrote:
> Cool, I am starting to get a good grasp on what is going on (Iâll probably
> need to use FreeBSDâs archive.h as opposed to Linuxâs crypto.h). I am trying
> to get a hold on what exactly I need to port to FreeBSD. I see that (as Nitin
> suggested) zsmalloc is the main brains of handling the objects and that it
> creates a fixed amount of sharded âpagesâ which a compressed (or
> uncompressed) actual page can span. I see also that that depends on zpool.

zsmalloc doesn't depend on zpool. zpool is an abstraction layer used
by zswap.

> I will probably find all âdependenciesâ; however, if one of you could
> describe the components used/implemented for this, thatâd be awesome. Also,
> any linux specific setup/layout details come to mind?

there is a whole bunch of hacks that Nitin, Minchan and others used
in zsmalloc() to minimize its space consumption (struct page fields
re-usage, etc). comments in zsmalloc() can shed some light.

-ss