All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jonathan.cameron@huawei.com>
To: Gregory Price <gourry@gourry.net>
Cc: <linux-cxl@vger.kernel.org>, <dave@stgolabs.net>,
	<dave.jiang@intel.com>, <alison.schofield@intel.com>,
	<vishal.l.verma@intel.com>, <ira.weiny@intel.com>,
	<dan.j.williams@intel.com>, <corbet@lwn.net>,
	<linux-doc@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] Documentation/driver-api/cxl: remove page-allocator quirk section
Date: Tue, 28 Oct 2025 16:01:33 +0000	[thread overview]
Message-ID: <20251028160133.000004ca@huawei.com> (raw)
In-Reply-To: <20251003143233.1985150-1-gourry@gourry.net>

On Fri,  3 Oct 2025 10:32:32 -0400
Gregory Price <gourry@gourry.net> wrote:

> The node/zone quirk section of the cxl documentation is incorrect.
> The actual reason for fallback allocation misbehavior in the
> described configuration is due to a kswapd/reclaim thrashing scenario
> fixed by the linked patch.  Remove this section.
> 
> Link: https://lore.kernel.org/linux-mm/20250919162134.1098208-1-hannes@cmpxchg.org/
> Signed-off-by: Gregory Price <gourry@gourry.net>
Not looked into it in detail but I'll take your word for it that
the text below is wrong.

Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>

> ---
>  .../cxl/allocation/page-allocator.rst         | 31 -------------------
>  1 file changed, 31 deletions(-)
> 
> diff --git a/Documentation/driver-api/cxl/allocation/page-allocator.rst b/Documentation/driver-api/cxl/allocation/page-allocator.rst
> index 7b8fe1b8d5bb..3fa584a248bd 100644
> --- a/Documentation/driver-api/cxl/allocation/page-allocator.rst
> +++ b/Documentation/driver-api/cxl/allocation/page-allocator.rst
> @@ -41,37 +41,6 @@ To simplify this, the page allocator will prefer :code:`ZONE_MOVABLE` over
>  will fallback to allocate from :code:`ZONE_NORMAL`.
>  
>  
> -Zone and Node Quirks
> -====================
> -Let's consider a configuration where the local DRAM capacity is largely onlined
> -into :code:`ZONE_NORMAL`, with no :code:`ZONE_MOVABLE` capacity present. The
> -CXL capacity has the opposite configuration - all onlined in
> -:code:`ZONE_MOVABLE`.
> -
> -Under the default allocation policy, the page allocator will completely skip
> -:code:`ZONE_MOVABLE` as a valid allocation target.  This is because, as of
> -Linux v6.15, the page allocator does (approximately) the following: ::
> -
> -  for (each zone in local_node):
> -
> -    for (each node in fallback_order):
> -
> -      attempt_allocation(gfp_flags);
> -
> -Because the local node does not have :code:`ZONE_MOVABLE`, the CXL node is
> -functionally unreachable for direct allocation.  As a result, the only way
> -for CXL capacity to be used is via `demotion` in the reclaim path.
> -
> -This configuration also means that if the DRAM ndoe has :code:`ZONE_MOVABLE`
> -capacity - when that capacity is depleted, the page allocator will actually
> -prefer CXL :code:`ZONE_MOVABLE` pages over DRAM :code:`ZONE_NORMAL` pages.
> -
> -We may wish to invert this priority in future Linux versions.
> -
> -If `demotion` and `swap` are disabled, Linux will begin to cause OOM crashes
> -when the DRAM nodes are depleted. See the reclaim section for more details.
> -
> -
>  CGroups and CPUSets
>  ===================
>  Finally, assuming CXL memory is reachable via the page allocation (i.e. onlined


  reply	other threads:[~2025-10-28 16:01 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-03 14:32 [PATCH] Documentation/driver-api/cxl: remove page-allocator quirk section Gregory Price
2025-10-28 16:01 ` Jonathan Cameron [this message]
2025-11-03 23:36 ` Jonathan Corbet
2025-11-03 23:41   ` Dave Jiang
2025-11-03 23:41 ` Dave Jiang

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=20251028160133.000004ca@huawei.com \
    --to=jonathan.cameron@huawei.com \
    --cc=alison.schofield@intel.com \
    --cc=corbet@lwn.net \
    --cc=dan.j.williams@intel.com \
    --cc=dave.jiang@intel.com \
    --cc=dave@stgolabs.net \
    --cc=gourry@gourry.net \
    --cc=ira.weiny@intel.com \
    --cc=linux-cxl@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=vishal.l.verma@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.