Re: Zram for FreeBSD

2016-10-11 Thread Cory Pruce
Awesome thanks Sergey. I’ll look through it soon :)




On 10/9/16, 11:55 PM, "Sergey Senozhatsky"  
wrote:

>you'd also probably want to look at the older zsmalloc version
>(add compaction and migration later, if need be)
>
>https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/mm/zsmalloc.c?id=refs/tags/v4.0
>
>it used to be simpler back then.
>
>   -ss


Re: Zram for FreeBSD

2016-10-11 Thread Cory Pruce
Awesome thanks Sergey. I’ll look through it soon :)




On 10/9/16, 11:55 PM, "Sergey Senozhatsky"  
wrote:

>you'd also probably want to look at the older zsmalloc version
>(add compaction and migration later, if need be)
>
>https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/mm/zsmalloc.c?id=refs/tags/v4.0
>
>it used to be simpler back then.
>
>   -ss


Re: Zram for FreeBSD

2016-10-10 Thread Sergey Senozhatsky
you'd also probably want to look at the older zsmalloc version
(add compaction and migration later, if need be)

https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/mm/zsmalloc.c?id=refs/tags/v4.0

it used to be simpler back then.

-ss


Re: Zram for FreeBSD

2016-10-10 Thread Sergey Senozhatsky
you'd also probably want to look at the older zsmalloc version
(add compaction and migration later, if need be)

https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/mm/zsmalloc.c?id=refs/tags/v4.0

it used to be simpler back then.

-ss


Re: Zram for FreeBSD

2016-10-10 Thread Sergey Senozhatsky
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


Re: Zram for FreeBSD

2016-10-10 Thread Sergey Senozhatsky
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


Re: Zram for FreeBSD

2016-10-07 Thread Cory Pruce
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. 

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?

Seriously, any details would be appreciated. It will save me time.

Thanks,
Cory

On 10/5/16, 9:43 PM, "Sergey Senozhatsky"  
wrote:

Hi,

On (10/05/16 16:47), Cory Pruce wrote:
>Could one of you tell me why these compression algo’s were chosen,

zram supports more than that.
https://marc.info/?l=linux-kernel=146469777105130


>if they were implemented as a need for zram, and

hm... not all of them (if any at all). lzo, *may be*, was motivated
by "compression/decompression perfromance VS compression ratio", which
is imporatant for zram.


>what the policy is on porting these to FreeBSD?

no idea.

-ss





Re: Zram for FreeBSD

2016-10-07 Thread Cory Pruce
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. 

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?

Seriously, any details would be appreciated. It will save me time.

Thanks,
Cory

On 10/5/16, 9:43 PM, "Sergey Senozhatsky"  
wrote:

Hi,

On (10/05/16 16:47), Cory Pruce wrote:
>Could one of you tell me why these compression algo’s were chosen,

zram supports more than that.
https://marc.info/?l=linux-kernel=146469777105130


>if they were implemented as a need for zram, and

hm... not all of them (if any at all). lzo, *may be*, was motivated
by "compression/decompression perfromance VS compression ratio", which
is imporatant for zram.


>what the policy is on porting these to FreeBSD?

no idea.

-ss





Re: Zram for FreeBSD

2016-10-05 Thread Sergey Senozhatsky
Hi,

On (10/05/16 16:47), Cory Pruce wrote:
>Could one of you tell me why these compression algo’s were chosen,

zram supports more than that.
https://marc.info/?l=linux-kernel=146469777105130


>if they were implemented as a need for zram, and

hm... not all of them (if any at all). lzo, *may be*, was motivated
by "compression/decompression perfromance VS compression ratio", which
is imporatant for zram.


>what the policy is on porting these to FreeBSD?

no idea.

-ss


Re: Zram for FreeBSD

2016-10-05 Thread Sergey Senozhatsky
Hi,

On (10/05/16 16:47), Cory Pruce wrote:
>Could one of you tell me why these compression algo’s were chosen,

zram supports more than that.
https://marc.info/?l=linux-kernel=146469777105130


>if they were implemented as a need for zram, and

hm... not all of them (if any at all). lzo, *may be*, was motivated
by "compression/decompression perfromance VS compression ratio", which
is imporatant for zram.


>what the policy is on porting these to FreeBSD?

no idea.

-ss