All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Rapoport <rppt@kernel.org>
To: Rong Qianfeng <11065417@vivo.com>
Cc: Mel Gorman <mgorman@techsingularity.net>,
	vbabka@suse.cz, Andrew Morton <akpm@linux-foundation.org>,
	"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	Zi Yan <ziy@nvidia.com>,
	Baolin Wang <baolin.wang@linux.alibaba.com>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	opensource.kernel@vivo.com, Rong Qianfeng <rongqianfeng@vivo.com>
Subject: Re: [PATCH] mm: Skip the reserved bootmem for compaction
Date: Wed, 4 Sep 2024 18:38:11 +0300	[thread overview]
Message-ID: <Zth-40Vzyh8zeDSu@kernel.org> (raw)
In-Reply-To: <d1939f2a-24a2-48a7-9c64-5acdd7c5d478@vivo.com>

On Wed, Sep 04, 2024 at 07:59:37PM +0800, Rong Qianfeng wrote:
> Hi Mel,
> 
> 在 2024/9/4 19:13, Mel Gorman 写道:
> > On Mon, Sep 02, 2024 at 08:24:43PM +0800, Rong Qianfeng wrote:
> > > Reserved pages are basically non-lru pages. This kind of memory can't be
> > > used as migration sources and targets, skip it can bring some performance
> > > benefits.
> > > 
> > > Because some drivers may also use PG_reserved, we just set PB_migrate_skip
> > > for those clustered reserved bootmem during memory initialization.
> > > 
> > > Signed-off-by: Rong Qianfeng <rongqianfeng@vivo.com>
> > I'm not convinced the savings due to skipping a few pages during the scan
> > would justify the additional code. There would have to be a large number
> > of reserved pages scattered throughout the zone to make a difference and
> > even that situation would be a big surprise. I'm not even sure this can be
> > explicitly tested unless you artifically create reserved pages throughout the
> > zone, which would not be convincing, or know if a driver that exhibits such
> > behaviour in which case my first question is -- what is that driver doing?!?
> 
> Thanks for taking the time to reply.
> 
> At first I thought that there was not much PageReserved pages, but when I
> looked at the memory initialization code, I found that no-map pages were
> also marked as PageReserved.  On mobile platforms, there is a lot of no-map
> pages (for example, ARM64 MT6991 no-map pages has 1065MB).  These
> pages are usually used by various hardware subsystems such as modem.  So
> I think it makes sense to skip these pages.
> 
> 
> //no-map and  reserved memory marked as PageReserved
> static void __init memmap_init_reserved_pages(void)
> {
> ...
>     for_each_mem_region(region) {
> ...
>         if (memblock_is_nomap(region))
>             reserve_bootmem_region(start, end, nid);  //for no-map memory

If nomap regions are a problem won't that be simpler to make all pageblocks
of a nomap region PB_migrate_skip here and leave other reserved pages
alone?

> 
>         memblock_set_node(start, end, &memblock.reserved, nid);
>     }
> 
>     for_each_reserved_mem_region(region) {
>         if (!memblock_is_reserved_noinit(region)) {
> ...
>             reserve_bootmem_region(start, end, nid); //for reserved memory
>         }
>     }
> 
> }
> 
> Best Regards,
> Qianfeng

-- 
Sincerely yours,
Mike.


  reply	other threads:[~2024-09-04 15:41 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-02 12:24 [PATCH] mm: Skip the reserved bootmem for compaction Rong Qianfeng
2024-09-02 13:45 ` David Hildenbrand
2024-09-03  7:14   ` Rong Qianfeng
2024-09-03  9:56     ` David Hildenbrand
2024-09-04 11:13 ` Mel Gorman
2024-09-04 11:59   ` Rong Qianfeng
2024-09-04 15:38     ` Mike Rapoport [this message]
2024-09-05  3:10       ` Rong Qianfeng
2024-09-04 14:54 ` kernel test robot

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=Zth-40Vzyh8zeDSu@kernel.org \
    --to=rppt@kernel.org \
    --cc=11065417@vivo.com \
    --cc=akpm@linux-foundation.org \
    --cc=baolin.wang@linux.alibaba.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@techsingularity.net \
    --cc=opensource.kernel@vivo.com \
    --cc=rongqianfeng@vivo.com \
    --cc=vbabka@suse.cz \
    --cc=ziy@nvidia.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 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.