linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: David Rientjes <rientjes@google.com>
To: "孙世龙 sunshilong" <sunshilong369@gmail.com>
Cc: David Hildenbrand <david@redhat.com>, linux-mm@kvack.org
Subject: Re: Are there still some methods that could be used by the Linux kernel to reduce memory fragmentation while both CONFIG-MIGRATION and CONFIG-COMPACTION are disabled?
Date: Wed, 24 Jun 2020 10:22:14 -0700 (PDT)	[thread overview]
Message-ID: <alpine.DEB.2.22.394.2006241017580.261553@chino.kir.corp.google.com> (raw)
In-Reply-To: <CAAvDm6ar+XTMx58cP4twg_TXSOtZQrqC4kGTs+Cp-diQUFjgYw@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1912 bytes --]

On Wed, 24 Jun 2020, 孙世龙 sunshilong wrote:

> >> Are there still some methods that could be used by the Linux kernel
> >> to reduce memory fragmentation while both CONFIG-MIGRATION
> >> and CONFIG-COMPACTION are disabled?
> >
> >
> >We do have mobility grouping on pageblock order.
> >Also, I think you can use ZONE_MOVABLE without migration and compaction,
> >to at least locally limit unmovable fragmentation.
> It's a good news.
> 
> Could you please explain that in more detail for me or suggest some documents
> for me to go through.
> 

/proc/buddyinfo and /proc/pagetypeinfo will show the various pageblocks on 
the system.  Grouping pages by mobility simply means that we attempt (best 
effort) to allocate unmovable pages from the same pageblocks and movable 
pages from the same pageblocks.

> As per the post(http://lkml.iu.edu/hypermail/linux/kernel/1703.1/06782.html),
> I think it's something like ZONE_NORMAL. And I find that
> "ZONE_MOVEABLE" is available on Linux-v4.9.
> 

Yes, you can use kernelcore= (or movablecore=) on the kernel command line 
to set this up: allocations from this zone must have __GFP_MOVABLE so they 
"should" be migratable.  This is typically only useful when 
CONFIG_COMPACTION is enabled, however, to do that defragmentation work so 
that higher order memory becomes available.

> Is there some potential problems that I should be aware of if I enable
> "ZONE_MOVABLE" on real-time system?
> 

Yes, if ZONE_MOVABLE is made too big then you can risk out of memory 
kills: movable allocations can fallback to ZONE_NORMAL but unmovable 
allocations cannot graduate to ZONE_MOVABLE.  So if ZONE_NORMAL is full 
(either because you have too much unmovable memory in-use or too much 
movable fell back to ZONE_NORMAL), and you have more unmovable 
allocations, you'll get reclaim in ZONE_NORMAL and, at worst case, oom 
kills.

  reply	other threads:[~2020-06-24 17:22 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-23 15:52 Are there still some methods that could be used by the Linux kernel to reduce memory fragmentation while both CONFIG-MIGRATION and CONFIG-COMPACTION are disabled? 孙世龙 sunshilong
2020-06-24  9:53 ` David Hildenbrand
2020-06-24 11:16   ` 孙世龙 sunshilong
2020-06-24 17:22     ` David Rientjes [this message]
2020-06-25  3:22       ` 孙世龙 sunshilong
2020-06-28  3:27         ` David Rientjes
2020-06-28  5:15           ` 孙世龙 sunshilong
2020-06-28 20:39             ` David Rientjes
  -- strict thread matches above, loose matches on Subject: below --
2020-06-23 15:39 孙世龙 sunshilong

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=alpine.DEB.2.22.394.2006241017580.261553@chino.kir.corp.google.com \
    --to=rientjes@google.com \
    --cc=david@redhat.com \
    --cc=linux-mm@kvack.org \
    --cc=sunshilong369@gmail.com \
    /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).