From: Minchan Kim <minchan@kernel.org>
To: Sergey Senozhatsky <senozhatsky@chromium.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Nitin Gupta <ngupta@vflare.org>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [PATCHv4 2/9] zram: Add recompression algorithm sysfs knob
Date: Thu, 3 Nov 2022 09:34:51 -0700 [thread overview]
Message-ID: <Y2Ptq1GZISCD7Mor@google.com> (raw)
In-Reply-To: <Y2Mv4l+V9iCv9EMg@google.com>
On Thu, Nov 03, 2022 at 12:05:06PM +0900, Sergey Senozhatsky wrote:
< snip >
> > Just open question(I might be too paranoid?)
> >
> > I am thinking someone want to add third comp algorithm in future
> > to balance decompression and memory efficiency.
> >
> > If it's not too crazy idea, let's think about the interface.
> > Maybe, could we make the recomp knobs works like list?
> >
> > # A primary comp
> > echo "A" > /zram/comp_algo
> >
> > # Multiple secondary comps
> > echo "B threshold" > /zram/add_recomp_algo
> > echo "C threshold" > /zram/add_recomp_algo
> > echo "D threshold" > /zram/add_recomp_algo
>
> What is the threshold here? My design approach is that ZRAM doesn't do
As your term, watermark but yeah, priority you suggested would be good
for me.
> recompression on its own, so no magic is happening automatically. It's
> the user-space that triggers recompression for selected pages when
> user-space thinks it's time to. This allows us to have various flexible
> policies and consider things that ZRAM is not even aware of: battery level,
> free memory, CPU load average, etc. E.g. no recompression when all CPUs
> are busy rendering video game, or when we are draining battery too fast,
> etc.
>
> > "cat /zram/recomp_algo" shows the list
> >
> > echo "C" > /zram/remove_recomp_algo
> > will remove the C algorithm in stack.
>
> What is the use case for removal of a secondary algorithm?
Without the interface, How can we modify the selection if admin want to
change the order of second algorithms?
>
> > My point is that we don't need to implement it atm but makes the
> > interface to open the possibility for future extension.
> >
> > What do you think?
>
> So, as far as I understand, we don't have reason to add remove_recomp_algo
> right now. And existing recomp_algo does not enforce any particular format,
> it can be extended. Right now we accept "$name" but can do something like
> "$name:$priority". The only thing that we probably need to do is rename
> recomp_algo to either add_recomp_algo or register_recomp_algo?
Yeah, I like the name and priority format.
Only question is how we could support algorithm selection change
under considering multiple secondary algorithms.
next prev parent reply other threads:[~2022-11-03 16:34 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-18 4:55 [PATCHv4 0/9] zram: Support multiple compression streams Sergey Senozhatsky
2022-10-18 4:55 ` [PATCHv4 1/9] zram: Preparation for multi-zcomp support Sergey Senozhatsky
2022-11-02 20:13 ` Minchan Kim
2022-11-03 2:40 ` Sergey Senozhatsky
2022-10-18 4:55 ` [PATCHv4 2/9] zram: Add recompression algorithm sysfs knob Sergey Senozhatsky
2022-11-02 20:15 ` Minchan Kim
2022-11-03 3:05 ` Sergey Senozhatsky
2022-11-03 3:54 ` Sergey Senozhatsky
2022-11-03 17:10 ` Minchan Kim
2022-11-03 4:09 ` Sergey Senozhatsky
2022-11-03 5:36 ` Sergey Senozhatsky
2022-11-03 17:11 ` Minchan Kim
2022-11-03 16:34 ` Minchan Kim [this message]
2022-11-04 3:18 ` Sergey Senozhatsky
2022-11-04 4:53 ` Sergey Senozhatsky
2022-11-04 17:43 ` Minchan Kim
2022-11-04 23:41 ` Sergey Senozhatsky
2022-11-05 0:00 ` Sergey Senozhatsky
2022-11-07 19:08 ` Minchan Kim
2022-11-08 0:40 ` Sergey Senozhatsky
2022-11-05 0:01 ` Minchan Kim
2022-11-05 1:30 ` Sergey Senozhatsky
2022-11-04 16:34 ` Minchan Kim
2022-11-04 23:25 ` Sergey Senozhatsky
2022-11-04 23:40 ` Minchan Kim
2022-11-04 23:44 ` Sergey Senozhatsky
2022-11-05 0:02 ` Minchan Kim
2022-10-18 4:55 ` [PATCHv4 3/9] zram: Factor out WB and non-WB zram read functions Sergey Senozhatsky
2022-11-02 20:20 ` Minchan Kim
2022-11-03 2:43 ` Sergey Senozhatsky
2022-10-18 4:55 ` [PATCHv4 4/9] zram: Introduce recompress sysfs knob Sergey Senozhatsky
2022-11-02 21:06 ` Minchan Kim
2022-11-03 3:25 ` Sergey Senozhatsky
2022-11-03 6:03 ` Sergey Senozhatsky
2022-11-03 17:00 ` Minchan Kim
2022-11-04 3:48 ` Sergey Senozhatsky
2022-11-04 7:12 ` Sergey Senozhatsky
2022-11-04 17:53 ` Minchan Kim
2022-11-04 17:27 ` Minchan Kim
2022-11-04 23:22 ` Sergey Senozhatsky
2022-11-04 7:53 ` Sergey Senozhatsky
2022-11-04 8:08 ` Sergey Senozhatsky
2022-11-04 17:47 ` Minchan Kim
2022-10-18 4:55 ` [PATCHv4 5/9] documentation: Add recompression documentation Sergey Senozhatsky
2022-10-18 4:55 ` [PATCHv4 6/9] zram: Add recompression algorithm choice to Kconfig Sergey Senozhatsky
2022-10-18 4:55 ` [PATCHv4 7/9] zram: Add recompress flag to read_block_state() Sergey Senozhatsky
2022-10-18 4:55 ` [PATCHv4 8/9] zram: Clarify writeback_store() comment Sergey Senozhatsky
2022-10-18 4:55 ` [PATCHv4 9/9] zram: Use IS_ERR_VALUE() to check for zs_malloc() errors Sergey Senozhatsky
2022-11-02 20:07 ` [PATCHv4 0/9] zram: Support multiple compression streams Minchan Kim
2022-11-03 3:36 ` 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=Y2Ptq1GZISCD7Mor@google.com \
--to=minchan@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=ngupta@vflare.org \
--cc=senozhatsky@chromium.org \
/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.