All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yosry Ahmed <yosryahmed@google.com>
To: Sergey Senozhatsky <senozhatsky@chromium.org>
Cc: Minchan Kim <minchan@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [PATCH 2/2] zsmalloc: fine-grained inuse ratio based fullness grouping
Date: Thu, 9 Feb 2023 20:25:46 -0800	[thread overview]
Message-ID: <CAJD7tka3s84v9-ZA-OZkBkina6MByCSFnKXwv+hq8o8nZSZoyg@mail.gmail.com> (raw)
In-Reply-To: <Y+XG4mWPi4X9/hHZ@google.com>

On Thu, Feb 9, 2023 at 8:24 PM Sergey Senozhatsky
<senozhatsky@chromium.org> wrote:
>
> On (23/02/07 10:47), Sergey Senozhatsky wrote:
> > > >  enum fullness_group {
> > > > -       ZS_EMPTY,
> > > > -       ZS_ALMOST_EMPTY,
> > > > -       ZS_ALMOST_FULL,
> > > > -       ZS_FULL,
> > > > +       ZS_USAGE_0,
> > > > +       ZS_USAGE_10,
> > > > +       ZS_USAGE_20,
> > > > +       ZS_USAGE_30,
> > > > +       ZS_USAGE_40,
> > > > +       ZS_USAGE_50,
> > > > +       ZS_USAGE_60,
> > > > +       ZS_USAGE_70,
> > > > +       ZS_USAGE_80,
> > > > +       ZS_USAGE_90,
> > > > +       ZS_USAGE_99,
> > > > +       ZS_USAGE_100,
> > > >         NR_ZS_FULLNESS,
> > > >  };
> > > >
> > >
> > > Is there a reason why this can't be done with something like #define
> > > FULLNESS_GROUPS 10? We can make sure during build that (100 %
> > > FULLNESS_GROUPS == 0) to make our lives easier. I feel like the code
> > > will be much more concise and easier to navigate, instead of multiple
> > > enums and static arrays.
> >
> > I wanted to keep things the way they are to make reviews simpler.
> > We probably can do something more "disruptive" in a separate patch.
>
> Forgot to mention, I was also thinking about extending zsmalloc stats
> file and providing values for each fullness group per class, as opposed
> to current ALMOST_EMPTY and ALMOST_FULL stats, which don't tell much.

Makes sense.

>
> I can get rid of static const arrays and pass "begin / end" group IDs to
> functions that iterate fullness lists and pick the first head page, but
> I think that enum values will stay.

Do they have to stay for a technical reason or just to make reviews simpler?

  reply	other threads:[~2023-02-10  4:26 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-06  9:25 [PATCH 0/2] zsmalloc: fine-grained fullness grouping Sergey Senozhatsky
2023-02-06  9:25 ` [PATCH 1/2] zsmalloc: remove insert_zspage() ->inuse optimization Sergey Senozhatsky
2023-02-06  9:25 ` [PATCH 2/2] zsmalloc: fine-grained inuse ratio based fullness grouping Sergey Senozhatsky
2023-02-07  1:02   ` Yosry Ahmed
2023-02-07  1:47     ` Sergey Senozhatsky
2023-02-10  4:24       ` Sergey Senozhatsky
2023-02-10  4:25         ` Yosry Ahmed [this message]
2023-02-10  4:29           ` Sergey Senozhatsky
2023-02-10  5:15             ` Yosry Ahmed
2023-02-10  5:47               ` Sergey Senozhatsky
2023-02-10  5:52               ` Sergey Senozhatsky
2023-02-10  6:04                 ` Yosry Ahmed
2023-02-10  6:07                   ` Yosry Ahmed

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=CAJD7tka3s84v9-ZA-OZkBkina6MByCSFnKXwv+hq8o8nZSZoyg@mail.gmail.com \
    --to=yosryahmed@google.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=minchan@kernel.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.