linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Baolin Wang <baolin.wang@linux.alibaba.com>
To: akpm@linux-foundation.org, ying.huang@intel.com,
	dave.hansen@linux.intel.com
Cc: ziy@nvidia.com, shy828301@gmail.com,
	baolin.wang@linux.alibaba.com, zhongjiang-ali@linux.alibaba.com,
	xlpang@linux.alibaba.com, linux-mm@kvack.org,
	linux-kernel@vger.kernel.org
Subject: [RFC PATCH 0/4] Add speculative numa fault support
Date: Sun, 12 Dec 2021 19:31:56 +0800	[thread overview]
Message-ID: <cover.1639306956.git.baolin.wang@linux.alibaba.com> (raw)

Hi,

This RFC patch set adds speculative numa fault support for some scenarios,
like tiered memory system. On tiered memory system, it will rely on the
numa balancing to promote slow and hot memory to fast memory to improve
performance. So we can promote several sequential pages on slow memory
in advance according to the data locality for some workloads to improve
the performance.

So now how much pages need to be promoted to fast memory is the best? 
Now this RFC patch set only implements a basic and simple mechanism to
speculate the numa fault window for each VMA. It will introduce a new
atomic member for each VMA to record the numa fault window information,
which is used to determine if it is a sequential stream to expand or
reduance the numa fault window.

Now I can see about 6% improvement when testing mysql on tiered memory
system, more data can be found in patch 1. Looking forword to comments
and suggestion to make the algorithm more robust and suitable for more
scenarios. Thanks in advance.

Note: this patch set is based on the patch set implemented the tiered memory
promotion[1].

[1]
https://lore.kernel.org/lkml/87bl2gsnrd.fsf@yhuang6-desk2.ccr.corp.intel.com/T/

Baolin Wang (4):
  mm: Add speculative numa fault support
  mm: Add a debug interface to control the range of speculative numa
    fault
  mm: Add speculative numa fault stats
  mm: Update the speculative pages' accessing time

 include/linux/mm_types.h      |   3 +
 include/linux/vm_event_item.h |   1 +
 mm/memory.c                   | 222 ++++++++++++++++++++++++++++++++--
 mm/vmstat.c                   |   1 +
 4 files changed, 216 insertions(+), 11 deletions(-)

-- 
2.27.0


             reply	other threads:[~2021-12-12 11:32 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-12 11:31 Baolin Wang [this message]
2021-12-12 11:31 ` [RFC PATCH 1/4] mm: Add speculative numa fault support Baolin Wang
2021-12-12 11:31 ` [RFC PATCH 2/4] mm: Add a debug interface to control the range of speculative numa fault Baolin Wang
2021-12-12 11:31 ` [RFC PATCH 3/4] mm: Add speculative numa fault stats Baolin Wang
2021-12-12 11:32 ` [RFC PATCH 4/4] mm: Update the speculative pages' accessing time Baolin Wang

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=cover.1639306956.git.baolin.wang@linux.alibaba.com \
    --to=baolin.wang@linux.alibaba.com \
    --cc=akpm@linux-foundation.org \
    --cc=dave.hansen@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=shy828301@gmail.com \
    --cc=xlpang@linux.alibaba.com \
    --cc=ying.huang@intel.com \
    --cc=zhongjiang-ali@linux.alibaba.com \
    --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 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).