From: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
To: Minchan Kim <minchan@kernel.org>
Cc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>,
Joonsoo Kim <iamjoonsoo.kim@lge.com>,
linux-kernel@vger.kernel.org,
Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
Subject: Re: [PATCH 5/7] zram: use crypto api to check alg availability
Date: Fri, 27 May 2016 16:50:52 +0900 [thread overview]
Message-ID: <20160527075052.GB504@swordfish> (raw)
In-Reply-To: <20160527044343.GE2322@bbox>
On (05/27/16 13:43), Minchan Kim wrote:
[..]
> > modprobe zram
> > cat /proc/crypto | grep -i lz4
> > modprobe lz4
> > cat /proc/crypto | grep -i lz4
> > name : lz4
> > driver : lz4-generic
> > module : lz4
> >
> > So the user can't tell exactly if the lz4 is really supported
> > from /proc/crypto output, unless someone or something has loaded
> > it.
> >
> > This patch also adds crypto_has_comp() to zcomp_available_show().
>
> crypto_has_comp works regardless of that whether module is loading or not?
> IOW, currently, if lz4 modules is not loading, but crypto_has_comp return
> true about lz4 module.
> Right?
correct. crypto_has_comp() regardless the module being loaded.
# modprobe zram
# cat /proc/crypto | egrep -e "lzo|lz4|deflate"
# echo lzo > /sys/block/zram0/comp_algorithm
# cat /proc/crypto | egrep -e "lzo|lz4|deflate"
name : lzo
driver : lzo-generic
module : lzo
# echo lz4 > /sys/block/zram0/comp_algorithm
# cat /proc/crypto | egrep -e "lzo|lz4|deflate"
name : lz4
driver : lz4-generic
module : lz4
name : lzo
driver : lzo-generic
module : lzo
# echo deflate > /sys/block/zram0/comp_algorithm
# cat /proc/crypto | egrep -e "lzo|lz4|deflate"
name : deflate
driver : deflate-generic
module : deflate
name : lz4
driver : lz4-generic
module : lz4
name : lzo
driver : lzo-generic
module : lzo
what is does, tho, it modprobs() the module upon the first
request:
crypto_has_comp(...)
crypto_has_alg()
crypto_alg_mod_lookup()
crypto_larval_lookup()
request_module("crypto-%s", name)
__request_module()
call_modprobe()
and this is when /proc/crypto is getting updated. otherwise user has
no information (well, unless modules were loaded by something/someome
else, or crypto compressors were built-in into the kernel). I'm not
aware of any other way to achieve this functionality for zram.
> > We store all the compression algorithms names in zcomp's `backends'
> > array, regardless the CONFIG_CRYPTO_FOO configuration, but show
>
> Then, you mean we should add new string into backend array whenever
> adding new crypto compatible compression algorithm?
yes. which looks quite trivial: adding or removing a string to/from
the array.
> > cat /proc/crypto | grep -i lz4
> >
> > cat /sys/block/zram0/comp_algorithm
> > [lzo] lz4 deflate lz4hc 842
>
> So, when lzo module is loading?
when we execute crypto_has_comp("lzo") for the first time.
that's why doing just
# modprobe zram
will not cause /proc/crypto update
# modprobe zram
# cat /proc/crypto | egrep -e "lzo|lz4|deflate"
crypto_has_comp() updates it -- when we read or write
from/to comp_algorithm:
# cat /sys/block/zram0/comp_algorithm
[lzo] lz4 deflate lz4hc 842
# cat /proc/crypto | egrep -e "lzo|lz4|deflate"
name : lzo
driver : lzo-generic
module : lzo
but I didn't want zram to depend on this, or to depend on
/proc/crypto content; that's why I did it the way it is.
-ss
next prev parent reply other threads:[~2016-05-27 7:51 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-25 14:29 [PATCH 0/7] zram: switch to crypto api Sergey Senozhatsky
2016-05-25 14:30 ` [PATCH 1/7] zram: rename zstrm find-release functions Sergey Senozhatsky
2016-05-26 0:44 ` Minchan Kim
2016-05-26 1:07 ` Sergey Senozhatsky
2016-05-25 14:30 ` [PATCH 2/7] zram: switch to crypto compress API Sergey Senozhatsky
2016-05-27 4:22 ` Minchan Kim
2016-05-27 7:59 ` Sergey Senozhatsky
2016-05-25 14:30 ` [PATCH 3/7] zram: drop zcomp param from compress/decompress Sergey Senozhatsky
2016-05-27 4:22 ` Minchan Kim
2016-05-27 7:31 ` Sergey Senozhatsky
2016-05-25 14:30 ` [PATCH 4/7] zram: align zcomp interface to crypto comp API Sergey Senozhatsky
2016-05-27 4:31 ` Minchan Kim
2016-05-27 8:00 ` Sergey Senozhatsky
2016-05-25 14:30 ` [PATCH 5/7] zram: use crypto api to check alg availability Sergey Senozhatsky
2016-05-27 4:43 ` Minchan Kim
2016-05-27 7:50 ` Sergey Senozhatsky [this message]
2016-05-27 8:27 ` Minchan Kim
2016-05-27 8:43 ` Herbert Xu
2016-05-27 9:04 ` Minchan Kim
2016-05-29 3:24 ` Sergey Senozhatsky
2016-05-30 4:47 ` Minchan Kim
2016-05-30 4:57 ` Sergey Senozhatsky
2016-05-25 14:30 ` [PATCH 6/7] zram: delete custom lzo/lz4 Sergey Senozhatsky
2016-05-25 14:30 ` [PATCH 7/7] zram: add more compression algorithms Sergey Senozhatsky
2016-05-26 0:43 ` [PATCH 0/7] zram: switch to crypto api Joonsoo Kim
2016-05-26 1:12 ` Sergey Senozhatsky
2016-05-26 1:52 ` Joonsoo Kim
2016-05-26 0:52 ` Minchan Kim
2016-05-26 1:08 ` Sergey Senozhatsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160527075052.GB504@swordfish \
--to=sergey.senozhatsky.work@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=iamjoonsoo.kim@lge.com \
--cc=linux-kernel@vger.kernel.org \
--cc=minchan@kernel.org \
--cc=sergey.senozhatsky@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.