From: Michal Hocko <mhocko@suse.com>
To: Mel Gorman <mgorman@techsingularity.net>
Cc: Linux-MM <linux-mm@kvack.org>,
Andrew Morton <akpm@linux-foundation.org>,
NeilBrown <neilb@suse.de>,
Thierry Reding <thierry.reding@gmail.com>,
Matthew Wilcox <willy@infradead.org>,
Vlastimil Babka <vbabka@suse.cz>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 2/7] mm/page_alloc: Treat RT tasks similar to __GFP_HIGH
Date: Wed, 11 Jan 2023 16:27:29 +0100 [thread overview]
Message-ID: <Y77VYdboKBUsILhD@dhcp22.suse.cz> (raw)
In-Reply-To: <20230109151631.24923-3-mgorman@techsingularity.net>
On Mon 09-01-23 15:16:26, Mel Gorman wrote:
> RT tasks are allowed to dip below the min reserve but ALLOC_HARDER is
> typically combined with ALLOC_MIN_RESERVE so RT tasks are a little
> unusual. While there is some justification for allowing RT tasks
> access to memory reserves, there is a strong chance that a RT task
> that is also under memory pressure is at risk of missing deadlines
> anyway. Relax how much reserves an RT task can access by treating
> it the same as __GFP_HIGH allocations.
TBH, I would much rather drop the RT special casing here. As you say if
a RT task need to dip into memory reserves it is either already too late
because the execution is already under RT constrains or this is init
phase where the reclaim is not a problem yet.
I have tried to trace down this special case and only found a patch from
Robert Love from 2003 which says:
: - Let real-time tasks dip further into the reserves than usual in
: __alloc_pages(). There are a lot of ways to special case this. This
: patch just cuts z->pages_low in half, before doing the incremental min
: thing, for real-time tasks. I do not do anything in the low memory slow
: path. We can be a _lot_ more aggressive if we want. Right now, we just
: give real-time tasks a little help.
This doesn't really explain why this is needed.
We are really great at preserving a behavior and cementing it for
future generations. Maybe we should just drop it and see if something
breaks. We would get some reasoning at least finally.
So I am not opposed to the patch per se but I would much rather see this
branch go away. If you want me I can condense the above into a changelog
and send a patch (either on top of this one or replacing it). WDYT?
> Signed-off-by: Mel Gorman <mgorman@techsingularity.net>
> Acked-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: Michal Hocko <mhocko@suse.com>
> ---
> mm/page_alloc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index 244c1e675dc8..0040b4e00913 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -4847,7 +4847,7 @@ gfp_to_alloc_flags(gfp_t gfp_mask)
> */
> alloc_flags &= ~ALLOC_CPUSET;
> } else if (unlikely(rt_task(current)) && in_task())
> - alloc_flags |= ALLOC_HARDER;
> + alloc_flags |= ALLOC_MIN_RESERVE;
>
> alloc_flags = gfp_to_alloc_flags_cma(gfp_mask, alloc_flags);
>
> --
> 2.35.3
--
Michal Hocko
SUSE Labs
next prev parent reply other threads:[~2023-01-11 15:27 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-09 15:16 [PATCH 0/6 v2] Discard __GFP_ATOMIC Mel Gorman
2023-01-09 15:16 ` [PATCH 1/7] mm/page_alloc: Rename ALLOC_HIGH to ALLOC_MIN_RESERVE Mel Gorman
2023-01-11 15:18 ` Michal Hocko
2023-01-12 9:26 ` Mel Gorman
2023-01-09 15:16 ` [PATCH 2/7] mm/page_alloc: Treat RT tasks similar to __GFP_HIGH Mel Gorman
2023-01-11 15:27 ` Michal Hocko [this message]
2023-01-12 9:36 ` Mel Gorman
2023-01-12 9:47 ` Michal Hocko
2023-01-12 16:42 ` Mel Gorman
2023-01-13 9:04 ` David Laight
2023-01-13 11:09 ` Mel Gorman
2023-01-09 15:16 ` [PATCH 3/7] mm/page_alloc: Explicitly record high-order atomic allocations in alloc_flags Mel Gorman
2023-01-10 15:28 ` Vlastimil Babka
2023-01-11 15:36 ` Michal Hocko
2023-01-12 9:38 ` Mel Gorman
2023-01-09 15:16 ` [PATCH 4/7] mm/page_alloc: Explicitly define what alloc flags deplete min reserves Mel Gorman
2023-01-11 14:04 ` Vlastimil Babka
2023-01-11 15:37 ` Michal Hocko
2023-01-09 15:16 ` [PATCH 5/7] mm/page_alloc.c: Allow __GFP_NOFAIL requests deeper access to reserves Mel Gorman
2023-01-11 14:05 ` Vlastimil Babka
2023-01-11 15:46 ` Michal Hocko
2023-01-12 9:43 ` Mel Gorman
2023-01-09 15:16 ` [PATCH 6/7] mm/page_alloc: Give GFP_ATOMIC and non-blocking allocations " Mel Gorman
2023-01-11 14:12 ` Vlastimil Babka
2023-01-11 15:58 ` Michal Hocko
2023-01-11 17:05 ` Mel Gorman
2023-01-12 8:11 ` Michal Hocko
2023-01-12 8:29 ` Michal Hocko
2023-01-12 9:24 ` Mel Gorman
2023-01-12 9:45 ` Michal Hocko
2023-01-14 22:10 ` NeilBrown
2023-01-16 10:29 ` Mel Gorman
2023-01-09 15:16 ` [PATCH 7/7] mm: discard __GFP_ATOMIC Mel Gorman
2023-01-12 8:12 ` Michal Hocko
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=Y77VYdboKBUsILhD@dhcp22.suse.cz \
--to=mhocko@suse.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@techsingularity.net \
--cc=neilb@suse.de \
--cc=thierry.reding@gmail.com \
--cc=vbabka@suse.cz \
--cc=willy@infradead.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