From: David Hildenbrand <david@redhat.com>
To: Arnd Bergmann <arnd@arndb.de>, Li Chen <me@linux.beauty>
Cc: Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>, Rob Herring <robh+dt@kernel.org>,
Frank Rowand <frowand.list@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>,
Li Chen <lchen@ambarella.com>,
Linux ARM <linux-arm-kernel@lists.infradead.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
DTML <devicetree@vger.kernel.org>, Linux-MM <linux-mm@kvack.org>
Subject: Re: [PATCH 4/4] sample/reserved_mem: Introduce a sample of struct page and dio support to no-map rmem
Date: Fri, 5 Aug 2022 17:28:48 +0200 [thread overview]
Message-ID: <4437f656-99ac-400b-0d3b-4e1c7e6094da@redhat.com> (raw)
In-Reply-To: <CAK8P3a2hyhzjYqeL1LY7WziDjXQJasg3jFe83eErzKgbfP-a3w@mail.gmail.com>
On 05.08.22 16:09, Arnd Bergmann wrote:
> On Thu, Aug 4, 2022 at 12:07 PM Li Chen <me@linux.beauty> wrote:
>
>> Apart from our cases, I heard there are some other cases where cma_alloc
>> failed even non-cma system memory has enough memory because pages in
>> CMA memory are pinned and cannot move out of CMA. There are some fixes like
>> 1. move these memory out of CMA before pinned
>> 2. only allow non-long-time pinned memory allocation from CMA.
>>
>> But these two solutions are not merged into the mainline yet.
>
> Right, I think this has come up before, not sure why it wasn't implemented.
> My feeling is that 2. cannot work because you don't know if memory will be
> pinned in the future at the time of allocation, but 1. should be doable.
We disallow longterm pinning of CMA memory already and migrate it out of
the CMA region. If migration fails, we reject pinning.
See
9a4e9f3b2d73 ("mm: update get_user_pages_longterm to migrate pages
allocated from CMA region")
and recent
1c563432588d ("mm: fix is_pinnable_page against a cma page")
It's worth nothing that is_pinnable_page() will be renamed to
is_longterm_pinnable_page() soon to express what it actually means.
Note that some FOLL_GET users (vmsplice, O_DIRECT) still have to be
converted to FOLL_PIN, and especially also set FOLL_LONGTERM (vmsplice).
--
Thanks,
David / dhildenb
next prev parent reply other threads:[~2022-08-05 15:28 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-11 12:24 [PATCH 0/4] add struct page and Direct I/O support to reserved memory Li Chen
2022-07-11 12:24 ` [PATCH 1/4] of: add struct page support to rmem Li Chen
2022-07-11 13:36 ` Arnd Bergmann
2022-07-11 14:51 ` Li Chen
2022-07-11 15:06 ` Arnd Bergmann
2022-07-12 3:13 ` Li Chen
2022-07-16 0:38 ` kernel test robot
2022-07-18 13:21 ` Dan Carpenter
2022-07-11 12:24 ` [PATCH 2/4] mm/sparse: skip no-map memblock check when fill_subsection_map Li Chen
2022-07-11 14:53 ` David Hildenbrand
2022-07-12 4:23 ` Li Chen
2022-07-12 7:31 ` David Hildenbrand
2022-07-12 9:31 ` Li Chen
2022-07-14 18:45 ` kernel test robot
2022-07-11 12:24 ` [PATCH 3/4] arm64: mm: move memblock_clear_nomap after __add_pages Li Chen
2022-07-11 12:24 ` [PATCH 4/4] sample/reserved_mem: Introduce a sample of struct page and dio support to no-map rmem Li Chen
2022-07-11 13:28 ` Arnd Bergmann
2022-07-12 0:26 ` Li Chen
2022-07-12 7:50 ` Arnd Bergmann
2022-07-12 9:58 ` Li Chen
2022-07-12 10:08 ` Arnd Bergmann
2022-07-12 10:20 ` Arnd Bergmann
2022-07-12 10:55 ` Li Chen
2022-07-12 12:10 ` Arnd Bergmann
2022-08-04 7:17 ` Li Chen
2022-08-04 8:24 ` Arnd Bergmann
2022-08-04 10:07 ` Li Chen
2022-08-05 14:09 ` Arnd Bergmann
2022-08-05 15:28 ` David Hildenbrand [this message]
2022-07-11 15:01 ` [PATCH 0/4] add struct page and Direct I/O support to reserved memory Christoph Hellwig
2022-07-11 16:05 ` Li Chen
2022-07-11 16:09 ` Christoph Hellwig
2022-07-12 0:14 ` Li Chen
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=4437f656-99ac-400b-0d3b-4e1c7e6094da@redhat.com \
--to=david@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=catalin.marinas@arm.com \
--cc=devicetree@vger.kernel.org \
--cc=frowand.list@gmail.com \
--cc=lchen@ambarella.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=me@linux.beauty \
--cc=robh+dt@kernel.org \
--cc=will@kernel.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).