From patchwork Tue Dec 21 09:18:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Baolin Wang X-Patchwork-Id: 12689317 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 676B8C433EF for ; Tue, 21 Dec 2021 09:18:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 063646B0078; Tue, 21 Dec 2021 04:18:33 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0132E6B007B; Tue, 21 Dec 2021 04:18:32 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E45136B007D; Tue, 21 Dec 2021 04:18:32 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0022.hostedemail.com [216.40.44.22]) by kanga.kvack.org (Postfix) with ESMTP id D695F6B0078 for ; Tue, 21 Dec 2021 04:18:32 -0500 (EST) Received: from smtpin08.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id A1724180D52CF for ; Tue, 21 Dec 2021 09:18:32 +0000 (UTC) X-FDA: 78941250864.08.F861135 Received: from out30-42.freemail.mail.aliyun.com (out30-42.freemail.mail.aliyun.com [115.124.30.42]) by imf16.hostedemail.com (Postfix) with ESMTP id 585B7180021 for ; Tue, 21 Dec 2021 09:18:30 +0000 (UTC) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R691e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01e04423;MF=baolin.wang@linux.alibaba.com;NM=1;PH=DS;RN=11;SR=0;TI=SMTPD_---0V.KCb05_1640078307; Received: from localhost(mailfrom:baolin.wang@linux.alibaba.com fp:SMTPD_---0V.KCb05_1640078307) by smtp.aliyun-inc.com(127.0.0.1); Tue, 21 Dec 2021 17:18:27 +0800 From: Baolin Wang To: sj@kernel.org, akpm@linux-foundation.org Cc: ying.huang@intel.com, dave.hansen@linux.intel.com, ziy@nvidia.com, shy828301@gmail.com, zhongjiang-ali@linux.alibaba.com, xlpang@linux.alibaba.com, baolin.wang@linux.alibaba.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH 0/2] Add a new scheme to support demotion on tiered memory system Date: Tue, 21 Dec 2021 17:18:02 +0800 Message-Id: X-Mailer: git-send-email 1.8.3.1 X-Rspamd-Queue-Id: 585B7180021 X-Stat-Signature: afk6hbk51suaiq9kq31kszrqsa4p4jie Authentication-Results: imf16.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=alibaba.com; spf=pass (imf16.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.42 as permitted sender) smtp.mailfrom=baolin.wang@linux.alibaba.com X-Rspamd-Server: rspam02 X-HE-Tag: 1640078310-701712 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Hi, Now on tiered memory system with different memory types, the reclaim path in shrink_page_list() already support demoting pages to slow memory node instead of discarding the pages. However, at that time the fast memory node memory wartermark is already tense, which will increase the memory allocation latency during page demotion. So a new method from user space demoting cold pages proactively will be more helpful. We can rely on the DAMON in user space to help to monitor the cold memory on fast memory node, and demote the cold pages to slow memory node proactively to keep the fast memory node in a healthy state. This patch set introduces a new scheme named DAMOS_DEMOTE to support this feature, and works well from my testing. Any comments are welcome. Thanks. Baolin Wang (2): mm: Export the alloc_demote_page() function mm/damon: Add a new scheme to support demotion on tiered memory system include/linux/damon.h | 3 + mm/damon/dbgfs.c | 1 + mm/damon/vaddr.c | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++ mm/internal.h | 1 + mm/vmscan.c | 2 +- 5 files changed, 162 insertions(+), 1 deletion(-)