All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Palethorpe <rpalethorpe@suse.de>
To: Li Wang <liwang@redhat.com>
Cc: LTP List <ltp@lists.linux.it>
Subject: Re: [LTP] [PATCH 3/3] memcontrol04: Copy from kselftest
Date: Mon, 14 Feb 2022 05:40:19 +0000	[thread overview]
Message-ID: <871r06kmlq.fsf@suse.de> (raw)
In-Reply-To: <CAEemH2fgDbmPLAQBOFD-6Q1N66XWV_NZCWWx2CEfP9=KFNh-xA@mail.gmail.com>

Hello Li,

Li Wang <liwang@redhat.com> writes:

> On Thu, Feb 10, 2022 at 2:23 PM Li Wang <liwang@redhat.com> wrote:
>
>  On Wed, Feb 9, 2022 at 7:05 PM Li Wang <liwang@redhat.com> wrote:
>   
>  Btw, there are some TFAILs from my manual run. 
>  (I will look into that try to figure it out tomorrow)
>
>  tst_test.c:1521: TINFO: Testing on ext4
>  tst_test.c:996: TINFO: Formatting /dev/loop0 with ext4 opts='' extra opts=''
>  mke2fs 1.46.5 (30-Dec-2021)
>  tst_test.c:1452: TINFO: Timeout per run is 0h 05m 00s
>  memcontrol04.c:118: TINFO: Child 242775 in leaf_C: Allocating pagecache: 52428800
>  memcontrol04.c:118: TINFO: Child 242776 in leaf_D: Allocating pagecache: 52428800
>  memcontrol04.c:118: TINFO: Child 242777 in leaf_F: Allocating pagecache: 52428800
>  memcontrol04.c:99: TINFO: Child 242778 in trunk_G: Allocating anon: 155189248
>  memcontrol04.c:170: TPASS: Expect: (A/B memory.current=54181888) ~= 52428800
>  memcontrol04.c:176: TPASS: Expect: (A/B/C memory.current=30957568) ~= 34603008
>  memcontrol04.c:178: TPASS: Expect: (A/B/D memory.current=22282240) ~= 17825792
>  memcontrol04.c:180: TPASS: Expect: (A/B/E memory.current=0) ~= 0
>  memcontrol04.c:99: TINFO: Child 242779 in trunk_G: Allocating anon: 174063616
>  memcontrol04.c:193: TPASS: Expect: (oom events=0) == 0
>  memcontrol04.c:196: TPASS: Expect: (low events=373) > 0
>  memcontrol04.c:193: TPASS: Expect: (oom events=0) == 0
>  memcontrol04.c:196: TPASS: Expect: (low events=373) > 0
>  memcontrol04.c:193: TPASS: Expect: (oom events=0) == 0
>  memcontrol04.c:198: TPASS: Expect: (low events=0) == 0
>  memcontrol04.c:193: TPASS: Expect: (oom events=0) == 0
>  memcontrol04.c:198: TFAIL: Expect: (low events=370) == 0
>
>  It looks like a logic issue here, as we do alloc_pagecache 50MB
>  respectively in the leaf_cg[C, D, E, F] and only the 'memory.low'
>
> My apologies, the leaf_cg[E] does not have 50MB page cache
> allocating, that is the main reason with no memory reclaims happening.
> '500MB' low boundary obviously overcommitment, so leaf_cg[E] will
> get the part of parent’s protection proportional to its actual memory
> usage. However, it doesn't matter for this case, leaf_cg[E] can get
> no event grows as well. Because it has no memory consumption at all.

leaf_cg[F]'s memory.low == 0. So how can it have reclaim events where
memory.current < memory.low?

Testing on the upstream kernel there are no low events in F.

>
> The fix is still effective unless I misread something again:).
>
>  
>  of leaf_cg[E] is large enough (500MB) to avoid triggering low event.
>  The rest cgroups should all have low events, that kernel behavior
>  is correct.
>
>  This failure should be fix with:
>
>  --- a/testcases/kernel/controllers/memcg/memcontrol04.c
>  +++ b/testcases/kernel/controllers/memcg/memcontrol04.c
>  @@ -192,7 +192,7 @@ static void test_memcg_low(void)
>   
>                  TST_EXP_EXPR(oom == 0, "(oom events=%ld) == 0", oom);
>   
>  -               if (i < E)
>  +               if (i != E)
>                          TST_EXP_EXPR(low > 0, "(low events=%ld) > 0", low)
>                  else
>                          TST_EXP_EXPR(low == 0, "(low events=%ld) ==
>  0", low);

Note that I am just copying the original test. AFAICT the original did
not expect there to be low events in F.

>
>  And better to add "leaf_cg%d" print in the output:
>  (to show the events from which cgroup)
>
>      TST_EXP_EXPR(oom == 0, "(leaf_cg%d: oom events=%ld) == 0", i, oom);
>
>      if (i != E)
>              TST_EXP_EXPR(low > 0, "(leaf_cg%d: low events=%ld) > 0", i,  low)
>      else
>               TST_EXP_EXPR(low == 0, "(leaf_cg%d: low events=%ld) ==
>      0", i, low);

+1, thanks!

>
>  -- 
>  Regards,
>  Li Wang


-- 
Thank you,
Richard.

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp

  reply	other threads:[~2022-02-14  6:07 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-08 14:03 [LTP] [PATCH 0/3] memcontrol04 and s/cgroup/cg/ Richard Palethorpe via ltp
2022-02-08 14:03 ` [LTP] [PATCH 1/3] API/cgroup: Add memory.{events, low} Richard Palethorpe via ltp
2022-02-16 15:27   ` Cyril Hrubis
2022-02-17  3:14   ` Li Wang
2022-02-08 14:03 ` [LTP] [PATCH 2/3] API/cgroup: Shorten cgroup to cg in most symbols Richard Palethorpe via ltp
2022-02-09  4:51   ` Li Wang
2022-02-10  7:32     ` Richard Palethorpe
2022-02-16 15:26     ` Cyril Hrubis
2022-02-17  3:13       ` Li Wang
2022-02-17  5:37         ` Richard Palethorpe
2022-02-08 14:03 ` [LTP] [PATCH 3/3] memcontrol04: Copy from kselftest Richard Palethorpe via ltp
2022-02-09 10:47   ` Li Wang
2022-02-10  7:34     ` Richard Palethorpe
2022-02-09 11:05   ` Li Wang
2022-02-10  6:23     ` Li Wang
2022-02-10  7:12       ` Li Wang
2022-02-14  5:40         ` Richard Palethorpe [this message]
2022-02-16 10:13           ` Li Wang
2022-02-17  4:35             ` Richard Palethorpe

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=871r06kmlq.fsf@suse.de \
    --to=rpalethorpe@suse.de \
    --cc=liwang@redhat.com \
    --cc=ltp@lists.linux.it \
    /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.