From patchwork Sun Jan 16 15:21:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: CGEL X-Patchwork-Id: 12714604 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 DB165C433F5 for ; Sun, 16 Jan 2022 15:22:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E9E2D6B0071; Sun, 16 Jan 2022 10:22:26 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E4E1C6B0073; Sun, 16 Jan 2022 10:22:26 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D3C306B0074; Sun, 16 Jan 2022 10:22:26 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0196.hostedemail.com [216.40.44.196]) by kanga.kvack.org (Postfix) with ESMTP id C4F1F6B0071 for ; Sun, 16 Jan 2022 10:22:26 -0500 (EST) Received: from smtpin05.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 803B59636E for ; Sun, 16 Jan 2022 15:22:26 +0000 (UTC) X-FDA: 79036516692.05.92CA252 Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) by imf12.hostedemail.com (Postfix) with ESMTP id 36A0440002 for ; Sun, 16 Jan 2022 15:22:25 +0000 (UTC) Received: by mail-pl1-f181.google.com with SMTP id e8so4148688plh.8 for ; Sun, 16 Jan 2022 07:22:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=7BIV0js4UbF8/Y8EYJIpYDkaZzNBpg6RgfMsE41pezQ=; b=BOv1G4Lw//e9jAGIFPrDuw7fzdnWMIY6fhuk6tlrDK8z67I4P1+cFov7fTCMzp5SM8 nFjFSNw79uASgPIC4/1ZCqSKDevHAJtIaUifqEAKAbo9MlsBsGjXmaMGZ1eR8cYn9nmo sybKBH3l+EByRA1Gyg0jo0bharfKujVHTXUYgURgygS2xO6u/lgCMtj6rLOOz5m143WC 803XnVpF9DM2Nb37vw28De7wL0N6aNfcoQbxuVrG0+7zboXb22pmI4R+PTUhUV6jN9bk FkLYfy+JlqTig24YyqTKgzaMAgDSoT4EqmkbU8F1Qn3viw2zT9sXZVhbZH0t5gGlkcMV aZMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=7BIV0js4UbF8/Y8EYJIpYDkaZzNBpg6RgfMsE41pezQ=; b=ZF39IA7qCNuEDv1tH8Wbxs9MmlONOABCAQ78h2Khkv79B9NZFJHJDdG76brHIo2UaG 7gduiflZERmsL1RnBubISWcVQTznHois3F1bOMLODCFQjIo646+jF2otb24D5MnbYVM6 cmy5wP3FAVKW37F794MZUvO5Mys7+vqxqDHKmEz+/caSZLUUj2chGI127vHFdqJCImtU W9cLNiqrpOAOO+IUJUlOfUX8lo9Vwh/BUt5zJet8PSq+Wnd6Bwy1/wDybyHL5qv6YDiy Xue2Rf4HL4mRwVNFR5miTVA3yZHv6RVcz0QTP/Xz14TEXlW6bJWtL/2HTkP+B4gZNa7x 0ruw== X-Gm-Message-State: AOAM533O5qMeVr2PUbWVVDF2cv9/19/8MKyxHhNGndo2BYS85hoK3Mtk 2B/s3SN7TIRVf4U0zhWC+C8= X-Google-Smtp-Source: ABdhPJypzOcki1MvhKG0rkpZAhPTqWajyk7J+SdUpYPjjHEgoO5gWUMjks0wUmKq8VzRXq7eCfBidA== X-Received: by 2002:a17:90b:1648:: with SMTP id il8mr20944360pjb.227.1642346545096; Sun, 16 Jan 2022 07:22:25 -0800 (PST) Received: from localhost.localdomain ([193.203.214.57]) by smtp.gmail.com with ESMTPSA id j11sm10863224pfn.199.2022.01.16.07.22.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 16 Jan 2022 07:22:24 -0800 (PST) From: cgel.zte@gmail.com X-Google-Original-From: yang.yang29@zte.com.cn To: akpm@linux-foundation.org, hannes@cmpxchg.org, sfr@canb.auug.org.au Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Yang Yang Subject: [PATCH] psi: Treat ksm swapping in copy as memstall Date: Sun, 16 Jan 2022 15:21:51 +0000 Message-Id: <20220116152150.859520-1-yang.yang29@zte.com.cn> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 36A0440002 X-Stat-Signature: qhm3n5dpdj99nbbtbzucjqdon4yof6aa Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=BOv1G4Lw; spf=pass (imf12.hostedemail.com: domain of cgel.zte@gmail.com designates 209.85.214.181 as permitted sender) smtp.mailfrom=cgel.zte@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-HE-Tag: 1642346545-338545 X-Bogosity: Ham, tests=bogofilter, spamicity=0.001157, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: Yang Yang When faults in from swap what used to be a ksm page and that page had been swapped in before, system has to make a copy. Obviously this kind of copy is related to high memory pressure, so we treat it as memstall. Although ksm page merging is not because of high memory pressure. Information of this new kind of stall will help psi to account memory pressure more precise. Signed-off-by: Yang Yang --- mm/ksm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mm/ksm.c b/mm/ksm.c index 4a7f8614e57d..d4ec6773f9b8 100644 --- a/mm/ksm.c +++ b/mm/ksm.c @@ -39,6 +39,7 @@ #include #include #include +#include #include #include "internal.h" @@ -2569,6 +2570,7 @@ struct page *ksm_might_need_to_copy(struct page *page, { struct anon_vma *anon_vma = page_anon_vma(page); struct page *new_page; + unsigned long pflags; if (PageKsm(page)) { if (page_stable_node(page) && @@ -2583,6 +2585,7 @@ struct page *ksm_might_need_to_copy(struct page *page, if (!PageUptodate(page)) return page; /* let do_swap_page report the error */ + psi_memstall_enter(&pflags); new_page = alloc_page_vma(GFP_HIGHUSER_MOVABLE, vma, address); if (new_page && mem_cgroup_charge(page_folio(new_page), vma->vm_mm, GFP_KERNEL)) { @@ -2600,6 +2603,7 @@ struct page *ksm_might_need_to_copy(struct page *page, #endif } + psi_memstall_leave(&pflags); return new_page; }