* Re: Zram/Zmalloc Questions
[not found] <CANOqyr7Lwgyax9F4Jogi=ecqKMbCTUQ5LmuXVk5LfTk0ksv4rg@mail.gmail.com>
@ 2016-11-08 0:33 ` Sergey Senozhatsky
[not found] ` <CANOqyr4GuFs+Ayt7UFUKnssTFTP=NTRcP-p12xjPpvqxV4+ZYg@mail.gmail.com>
0 siblings, 1 reply; 2+ messages in thread
From: Sergey Senozhatsky @ 2016-11-08 0:33 UTC (permalink / raw)
To: Cory Pruce; +Cc: Nitin Gupta, Sergey Senozhatsky, minchan, linux-kernel
On (11/07/16 10:50), Cory Pruce wrote:
> I see in zsmalloc.c that zsmalloc is mounted as a pseudo filesystem (block
> device I believe). However, there are empty implementations of
> zsmalloc_mount and zsmalloc_unmount for when CONFIG_COMPACTION is not set.
no. it's because compaction needs an inode via alloc_anon_inode().
look at inode->i_mapping->a_ops. zsmalloc does require or depend on
mounting otherwise.
[..]
> Why is bit_spin_lock being used instead of the general spin_lock? Is there
> some performance benefit?
no. to save the memory. look at bits squeezing from handle. otherwise,
one would have to allocate both handle and a 4-byte spin_lock. I believe
bit_spin_lock in general have worse performance than spin_lock, just
because spin_lock is not always "a silly busy loop", while bit_spin_lock
is.
-ss
^ permalink raw reply [flat|nested] 2+ messages in thread