From: Jakub Kicinski <kuba-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org
Cc: linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org,
kernel-team-b10kYP2dOMg@public.gmane.org,
tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org,
chris-6Bi1550iOqEnzZ6mRAm98g@public.gmane.org,
cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Jakub Kicinski <kuba-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Subject: [PATCH 2/3] mm: move penalty delay clamping out of calculate_high_delay()
Date: Thu, 16 Apr 2020 18:06:16 -0700 [thread overview]
Message-ID: <20200417010617.927266-3-kuba@kernel.org> (raw)
In-Reply-To: <20200417010617.927266-1-kuba-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
We will want to call calculate_high_delay() twice - once for
memory and once for swap, and we should apply the clamp value
to sum of the penalties. Clamping has to be applied outside
of calculate_high_delay().
Signed-off-by: Jakub Kicinski <kuba-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
---
mm/memcontrol.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 9bfb7dcb3489..90266c04fd76 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -2384,14 +2384,7 @@ static unsigned long calculate_high_delay(struct mem_cgroup *memcg,
* MEMCG_CHARGE_BATCH pages is nominal, so work out how much smaller or
* larger the current charge patch is than that.
*/
- penalty_jiffies = penalty_jiffies * nr_pages / MEMCG_CHARGE_BATCH;
-
- /*
- * Clamp the max delay per usermode return so as to still keep the
- * application moving forwards and also permit diagnostics, albeit
- * extremely slowly.
- */
- return min(penalty_jiffies, MEMCG_MAX_HIGH_DELAY_JIFFIES);
+ return penalty_jiffies * nr_pages / MEMCG_CHARGE_BATCH;
}
/*
@@ -2419,6 +2412,13 @@ void mem_cgroup_handle_over_high(void)
penalty_jiffies = calculate_high_delay(memcg, nr_pages,
mem_find_max_overage(memcg));
+ /*
+ * Clamp the max delay per usermode return so as to still keep the
+ * application moving forwards and also permit diagnostics, albeit
+ * extremely slowly.
+ */
+ penalty_jiffies = min(penalty_jiffies, MEMCG_MAX_HIGH_DELAY_JIFFIES);
+
/*
* Don't sleep if the amount of jiffies this memcg owes us is so low
* that it's not even worth doing, in an attempt to be nice to those who
--
2.25.2
next prev parent reply other threads:[~2020-04-17 1:06 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-17 1:06 [PATCH 0/3] memcg: Slow down swap allocation as the available space gets depleted Jakub Kicinski
[not found] ` <20200417010617.927266-1-kuba-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2020-04-17 1:06 ` [PATCH 1/3] mm: prepare for swap over-high accounting and penalty calculation Jakub Kicinski
2020-04-17 1:06 ` Jakub Kicinski [this message]
2020-04-17 1:06 ` [PATCH 3/3] mm: automatically penalize tasks with high swap use Jakub Kicinski
[not found] ` <20200417010617.927266-4-kuba-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2020-04-17 7:37 ` Michal Hocko
[not found] ` <20200417073716.GG26707-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2020-04-17 23:22 ` Jakub Kicinski
2020-04-17 16:11 ` [PATCH 0/3] memcg: Slow down swap allocation as the available space gets depleted Shakeel Butt
[not found] ` <CALvZod78ZUhU+yr2x1h_gv+VgVGTPnSSGKh_+fd+MeiAKreJvg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-04-17 16:23 ` Tejun Heo
[not found] ` <20200417162355.GA43469-146+VewaZzwNjtGbbfXrCEEOCMrvLtNR@public.gmane.org>
2020-04-17 17:18 ` Shakeel Butt
[not found] ` <CALvZod4ftvXCu8SbQUXwTGVvx5K2+at9h30r28chZLXEB1JdfQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-04-17 17:36 ` Tejun Heo
[not found] ` <20200417173615.GB43469-146+VewaZzwNjtGbbfXrCEEOCMrvLtNR@public.gmane.org>
2020-04-17 17:51 ` Shakeel Butt
2020-04-17 19:35 ` Tejun Heo
[not found] ` <20200417193539.GC43469-146+VewaZzwNjtGbbfXrCEEOCMrvLtNR@public.gmane.org>
2020-04-17 21:51 ` Shakeel Butt
[not found] ` <CALvZod6LT25t9aAA1KHmf1U4-L8zSjUXQ4VQvX4cMT1A+R_g+w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-04-17 22:59 ` Tejun Heo
[not found] ` <20200417225941.GE43469-146+VewaZzwNjtGbbfXrCEEOCMrvLtNR@public.gmane.org>
2020-04-20 16:12 ` Shakeel Butt
[not found] ` <CALvZod6M4OsM-t8m_KX9wCkEutdwUMgbP9682eHGQor9JvO_BQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-04-20 16:47 ` Tejun Heo
[not found] ` <20200420164740.GF43469-146+VewaZzwNjtGbbfXrCEEOCMrvLtNR@public.gmane.org>
2020-04-20 17:03 ` Michal Hocko
[not found] ` <20200420170318.GV27314-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2020-04-20 17:06 ` Tejun Heo
[not found] ` <20200420170650.GA169746-146+VewaZzwNjtGbbfXrCEEOCMrvLtNR@public.gmane.org>
2020-04-21 11:06 ` Michal Hocko
[not found] ` <20200421110612.GD27314-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2020-04-21 14:27 ` Johannes Weiner
[not found] ` <20200421142746.GA341682-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2020-04-21 16:11 ` Michal Hocko
[not found] ` <20200421161138.GL27314-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2020-04-21 16:56 ` Johannes Weiner
[not found] ` <20200421165601.GA345998-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2020-04-22 13:26 ` Michal Hocko
[not found] ` <20200422132632.GG30312-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2020-04-22 14:15 ` Johannes Weiner
[not found] ` <20200422141514.GA362484-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2020-04-22 15:43 ` Michal Hocko
[not found] ` <20200422154318.GK30312-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2020-04-22 17:13 ` Johannes Weiner
[not found] ` <20200422171328.GC362484-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2020-04-22 18:49 ` Michal Hocko
[not found] ` <20200422184921.GB4206-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2020-04-23 15:00 ` Johannes Weiner
[not found] ` <20200423150015.GE362484-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2020-04-24 15:05 ` Michal Hocko
[not found] ` <20200424150510.GH11591-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2020-04-28 14:24 ` Johannes Weiner
[not found] ` <20200428142432.GA78561-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2020-04-29 9:55 ` Michal Hocko
2020-04-21 19:09 ` Shakeel Butt
[not found] ` <CALvZod650M1_46R4OiS1mug+LKbjD=1s_xqckh9T6V8fPjct2g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2020-04-21 21:59 ` Johannes Weiner
[not found] ` <20200421215946.GA347151-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2020-04-21 22:39 ` Shakeel Butt
2020-04-21 15:20 ` Tejun Heo
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=20200417010617.927266-3-kuba@kernel.org \
--to=kuba-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
--cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
--cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=chris-6Bi1550iOqEnzZ6mRAm98g@public.gmane.org \
--cc=hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org \
--cc=kernel-team-b10kYP2dOMg@public.gmane.org \
--cc=linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org \
--cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).