From patchwork Wed Jan 12 11:51:11 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: CGEL X-Patchwork-Id: 12711292 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 97100C433F5 for ; Wed, 12 Jan 2022 11:52:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D13EE6B014A; Wed, 12 Jan 2022 06:52:22 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id CC4306B014B; Wed, 12 Jan 2022 06:52:22 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BB2D16B014C; Wed, 12 Jan 2022 06:52:22 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0081.hostedemail.com [216.40.44.81]) by kanga.kvack.org (Postfix) with ESMTP id A805A6B014A for ; Wed, 12 Jan 2022 06:52:22 -0500 (EST) Received: from smtpin30.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 4F8078249980 for ; Wed, 12 Jan 2022 11:52:22 +0000 (UTC) X-FDA: 79021472124.30.419B980 Received: from mail-qv1-f48.google.com (mail-qv1-f48.google.com [209.85.219.48]) by imf04.hostedemail.com (Postfix) with ESMTP id 05F7F40012 for ; Wed, 12 Jan 2022 11:52:21 +0000 (UTC) Received: by mail-qv1-f48.google.com with SMTP id hu2so2586311qvb.8 for ; Wed, 12 Jan 2022 03:52:21 -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=Kwp9C8fnBtFWbIneloujcdboDJVGe0JvYQ1JElTpShc=; b=JetQGrILsOc2Z/T7ipIO7jVs5rBEi47xxb8V4FvOnIslsD7q7jdCvXBriV5V+ylAYd hBVIir4kZabGqXh282fMSC1OJ/PhF0u+2lCXXkXJ99Xr+A44+0xbhrZsTZEApEpk8TzV IkXcX+FHIwItPm3OjwYmxo+iHCHk6PPYI3GOaPiN4Mm+HgLkCbsxs2j1hn0RqsxKCyQZ l6vbxhuwBjnKqrFt3y12LlcqICWXtCtWAG5YQXPvyhA7VY5mpMKVaFcftkJcBWmm2ftO c20ZRn4/DNX9BL6evPek5ED/2OPCuiaTtPtSB5oF1tBfxJ8TYJ2nC6ehssQi3gXoB2v3 XMcw== 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=Kwp9C8fnBtFWbIneloujcdboDJVGe0JvYQ1JElTpShc=; b=7XFLkDfrLToteH2oQ3cw9eI0xqmINlOHZjFdsZyHWpdxk0r/DYOh0Fas0LZiNt3tVa fJYIac6HVTLo4OvRDr5F/E9abytgYmxHupW/Hj4eSgjiNT03Ny/VTMYsxSKzcYXFnGVp TCEuSyW+5kUyy7Q0YLHb9gXRmINggbFDeD6yfrBHq4MfK7PAcJ12ytVRGAv9ozpFQFaD U2pDc/4ZA6h/7p7re4ypo3RqPLU4zYHNvLr4ckL4/C7xEQZQtLfST4QOhcjT+ObAxjC/ Hk5+FWIk0spI0GEZA71ECPpKuWpUWt2EjC/7Ogd0w+HJKdaSMg3RB9M/3CoRdz1P/yes Rtsg== X-Gm-Message-State: AOAM530Douf2P3qjqNjIvzAmkMDp+OQ4f3T3GiP3cpSLG1DB6oXNffYh ZiGMJJCLx+UQo8o43vohXIk= X-Google-Smtp-Source: ABdhPJz4mGGrBqnl1slPX5BgMxnineBmeJtsNPjrx3r//69wotCsNDDt31+QTSllzoqy3/7pkdtT5A== X-Received: by 2002:a05:6214:2302:: with SMTP id gc2mr7543232qvb.126.1641988341402; Wed, 12 Jan 2022 03:52:21 -0800 (PST) Received: from localhost.localdomain ([193.203.214.57]) by smtp.gmail.com with ESMTPSA id b10sm6631914qtb.24.2022.01.12.03.52.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 Jan 2022 03:52:20 -0800 (PST) From: cgel.zte@gmail.com X-Google-Original-From: yang.yang29@zte.com.cn To: akpm@linux-foundation.org, yang.shi@linux.alibaba.com, ying.huang@intel.com Cc: dave.hansen@linux.intel.com, yang.yang29@zte.com.cn, saravanand@fb.com, minchan@kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Ran Xiaokai Subject: [PATCH] mm/vmstat: add event for ksm swapping in copy Date: Wed, 12 Jan 2022 11:51:11 +0000 Message-Id: <20220112115110.669160-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: 05F7F40012 X-Stat-Signature: p36d5fxyj6g5kchi1jdkjffqk17hbtdf Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=JetQGrIL; spf=pass (imf04.hostedemail.com: domain of cgel.zte@gmail.com designates 209.85.219.48 as permitted sender) smtp.mailfrom=cgel.zte@gmail.com; dmarc=pass (policy=none) header.from=gmail.com X-HE-Tag: 1641988341-326516 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: 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, and leaves remerging the pages to a later pass of ksmd. That is not good for performace, we'd better to reduce this kind of copy. There are some ways to reduce it, for example lessen swappiness or madvise(, , MADV_MERGEABLE) range. So add this event to support doing this tuning. Just like this patch: "mm, THP, swap: add THP swapping out fallback counting". Signed-off-by: Yang Yang Reviewed-by: Ran Xiaokai Reported-by: kernel test robot --- include/linux/vm_event_item.h | 3 +++ mm/ksm.c | 1 + mm/vmstat.c | 3 +++ 3 files changed, 7 insertions(+) diff --git a/include/linux/vm_event_item.h b/include/linux/vm_event_item.h index 7b2363388bfa..16a0a4fd000b 100644 --- a/include/linux/vm_event_item.h +++ b/include/linux/vm_event_item.h @@ -129,6 +129,9 @@ enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT, #ifdef CONFIG_SWAP SWAP_RA, SWAP_RA_HIT, +#ifdef CONFIG_KSM + KSM_SWPIN_COPY, +#endif #endif #ifdef CONFIG_X86 DIRECT_MAP_LEVEL2_SPLIT, diff --git a/mm/ksm.c b/mm/ksm.c index c20bd4d9a0d9..b6b382fde3d4 100644 --- a/mm/ksm.c +++ b/mm/ksm.c @@ -2595,6 +2595,7 @@ struct page *ksm_might_need_to_copy(struct page *page, SetPageDirty(new_page); __SetPageUptodate(new_page); __SetPageLocked(new_page); + count_vm_event(KSM_SWPIN_COPY); } return new_page; diff --git a/mm/vmstat.c b/mm/vmstat.c index 4057372745d0..d2b9f27eb1c4 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c @@ -1385,6 +1385,9 @@ const char * const vmstat_text[] = { #ifdef CONFIG_SWAP "swap_ra", "swap_ra_hit", +#ifdef CONFIG_KSM + "ksm_swpin_copy", +#endif #endif #ifdef CONFIG_X86 "direct_map_level2_splits",