All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gregory Price <gregory.price@memverge.com>
To: Kyungsan Kim <ks0204.kim@samsung.com>
Cc: ying.huang@intel.com, lsf-pc@lists.linux-foundation.org,
	linux-mm@kvack.org, linux-fsdevel@vger.kernel.org,
	linux-cxl@vger.kernel.org, a.manzanares@samsung.com,
	viacheslav.dubeyko@bytedance.com, dan.j.williams@intel.com
Subject: Re: RE(4): FW: [LSF/MM/BPF TOPIC] SMDK inspired MM changes for CXL
Date: Fri, 24 Mar 2023 09:46:34 -0400	[thread overview]
Message-ID: <ZB2pugK9Vu+nINSV@memverge.com> (raw)
In-Reply-To: <20230324084808.147885-1-ks0204.kim@samsung.com>

On Fri, Mar 24, 2023 at 05:48:08PM +0900, Kyungsan Kim wrote:
> 
> Indeed, we tried the approach. It was able to allocate a kernel context from ZONE_MOVABLE using GFP_MOVABLE.
> However, we think it would be a bad practice for the 2 reasons.
> 1. It causes oops and system hang occasionally due to kernel page migration while swap or compaction. 
> 2. Literally, the design intention of ZONE_MOVABLE is to a page movable. So, we thought allocating a kernel context from the zone hurts the intention.
> 
> Allocating a kernel context out of ZONE_EXMEM is unmovable.
>   a kernel context -  alloc_pages(GFP_EXMEM,)

What is the specific use case of this?  If the answer is flexibility in
low-memory situations, why wouldn't the kernel simply change to free up
ZONE_NORMAL (swapping user memory, migrating user memory, etc) and
allocate as needed?

I could see allocating kernel memory from local memory expanders
(directly attached to local CXL port), but I can't think of a case where
it would be preferable for kernel resources to live on remote memory.
Since local memory expanders are static devices, there shouldn't be a
great need for hotplug, which means the memory could be mapped
ZONE_NORMAL without issue.

> Allocating a user context out of ZONE_EXMEM is movable.
>   a user context - mmap(,,MAP_EXMEM,) - syscall - alloc_pages(GFP_EXMEM | GFP_MOVABLE,)
> This is how ZONE_EXMEM supports the two cases.
> 

Is it intended for a user to explicitly request MAP_EXMEM for it to get
used at all?  As in, if i simply mmap() without MAP_EXMEM, will it
remain unutilized?

~Gregory

  reply	other threads:[~2023-03-24 13:46 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20230221014114epcas2p1687db1d75765a8f9ed0b3495eab1154d@epcas2p1.samsung.com>
2023-02-21  1:41 ` [LSF/MM/BPF TOPIC] SMDK inspired MM changes for CXL Kyungsan Kim
2023-02-27 23:14   ` Dan Williams
2023-02-28  4:35     ` Kyungsan Kim
2023-03-03  6:07   ` Huang, Ying
2023-03-22  4:33     ` FW: " Kyungsan Kim
2023-03-22 22:03       ` Dan Williams
2023-03-23 10:51         ` RE(2): " Kyungsan Kim
2023-03-23 12:25           ` David Hildenbrand
2023-03-24  9:09             ` RE(4): " Kyungsan Kim
2023-03-24  9:12               ` David Hildenbrand
2023-03-24  9:27                 ` RE(2): " Kyungsan Kim
2023-03-24  9:30                   ` David Hildenbrand
2023-03-24  9:50                     ` RE(3): " Kyungsan Kim
2023-03-24 13:08                       ` Jørgen Hansen
2023-03-24 22:33                         ` David Hildenbrand
2023-03-31 11:42                           ` Kyungsan Kim
2023-03-31 13:42                             ` Matthew Wilcox
2023-03-31 15:56                               ` Frank van der Linden
2023-04-03  8:34                                 ` David Hildenbrand
2023-04-05  2:16                                   ` Kyungsan Kim
2023-04-05  2:06                                 ` Re: " Kyungsan Kim
2023-04-05  5:00                                   ` Dan Williams
2023-04-05  2:01                               ` Kyungsan Kim
2023-04-05  3:11                                 ` Matthew Wilcox
2023-04-03  8:28                             ` David Hildenbrand
2023-04-05  2:09                               ` Kyungsan Kim
2023-03-31 11:31                         ` RE: RE(3): " Kyungsan Kim
2023-03-24  0:41           ` RE(2): " Huang, Ying
2023-03-24  8:48             ` RE(4): " Kyungsan Kim
2023-03-24 13:46               ` Gregory Price [this message]
2023-03-31 11:34                 ` Kyungsan Kim
2023-03-31 15:53                   ` Gregory Price
2023-04-05  2:02                     ` Kyungsan Kim
2023-03-24 14:55           ` RE(2): " Matthew Wilcox
2023-03-24 17:49             ` Matthew Wilcox
2023-03-31 11:37               ` Kyungsan Kim
2023-03-31 12:54                 ` Matthew Wilcox
2023-04-05  2:00                   ` Kyungsan Kim
2023-04-05  4:48                     ` Dan Williams
2023-04-05 18:12                       ` Matthew Wilcox
2023-04-05 19:42                         ` Dan Williams
2023-04-06 12:27                           ` David Hildenbrand
2023-04-07  9:30                             ` Kyungsan Kim
2023-03-31 11:38               ` Re: RE(2): " Kyungsan Kim
2023-03-26  7:21           ` Mike Rapoport
2023-03-30 22:03             ` Dragan Stancevic
2023-04-03  8:44               ` Mike Rapoport
2023-04-04  4:27                 ` Dragan Stancevic
2023-04-04  6:47                   ` Huang, Ying
2023-04-06 22:27                     ` Dragan Stancevic
2023-04-07  0:58                       ` Huang, Ying
2023-04-07  9:29                         ` Kyungsan Kim
2023-04-07 14:35                         ` Dragan Stancevic
2023-04-05 10:18                   ` Kyungsan Kim
2023-03-31 11:45             ` RE: RE(2): " Kyungsan Kim
2023-04-04  8:31               ` Mike Rapoport
2023-04-04 17:58                 ` Adam Manzanares
2023-04-01 10:51                   ` Gregory Price
2023-04-04 18:59                     ` [External] " Viacheslav A.Dubeyko
2023-04-01 11:51                       ` Gregory Price
2023-04-04 21:09                         ` Viacheslav A.Dubeyko
2023-04-04 23:51                         ` Dan Williams
2023-04-05  2:34                           ` Gregory Price
2023-04-05 10:18                         ` Kyungsan Kim
2023-03-30 22:02   ` Dragan Stancevic
2023-03-31 11:46     ` Kyungsan Kim
2023-04-14  8:41   ` FW: " Kyungsan Kim
2023-05-09 18:45     ` MTK

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=ZB2pugK9Vu+nINSV@memverge.com \
    --to=gregory.price@memverge.com \
    --cc=a.manzanares@samsung.com \
    --cc=dan.j.williams@intel.com \
    --cc=ks0204.kim@samsung.com \
    --cc=linux-cxl@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=lsf-pc@lists.linux-foundation.org \
    --cc=viacheslav.dubeyko@bytedance.com \
    --cc=ying.huang@intel.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.