From patchwork Mon Jan 23 17:37:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Roesch X-Patchwork-Id: 47290 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp1743460wrn; Mon, 23 Jan 2023 10:05:47 -0800 (PST) X-Google-Smtp-Source: AMrXdXtzaAAcdvxjbj2Y7O+0ya+2uIapb7D4eBEF+iQ5CHeIZxFtri+TxAUzIDIXLvjr1F42GaXR X-Received: by 2002:a17:906:4694:b0:86d:c1b2:257b with SMTP id a20-20020a170906469400b0086dc1b2257bmr37209405ejr.19.1674497147856; Mon, 23 Jan 2023 10:05:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674497147; cv=none; d=google.com; s=arc-20160816; b=GyWV9IhOW+kARg+si6blem90dlldNQ5IpXjtB1YpDm2ZoqV3jFCRZo1bNvoRRuRV38 PEGwdBYI/aQ9Trm/aV5n0VmsgwtJLgJxK2j9SsTOJ0vb51nYy6l6P1MANcUbGmbt6v2z vdEBALgDMF1kav3X5gtqLpqFJkjb0TL7bRKm0qKqher84tq5CTrl7rQgDnNJ54hvUIba 8XtdhK0jIUDgH7+MYqVwJKjIlzCxur53pjCBlpXG2/IRBY01QDHYpC9H1OsofGQrp7Cr s52hcsvm/8po6RRu9QUymgAkscFmye33+HLnA333t4VEkrDp+LUEha8Y2Ytoj2ynQ60A IJmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=8P5nJvBBBXt+f7B98ljEhcX6LRnkeWeqEmjDASSaXMo=; b=1F9XOOBUAuge3kFnKR0/pgPuzHngPF7zxd1LMJqHvgzrvv8cyHjK6BeBAX+JIhLCzB 8iS7oUDA0HFaefnFmIhEaXrKw3nRTsY+EtP7ghO9VzIcVaJPiXBpx72698PfZp9VhxL7 Em7ubV2nBNvO+GeJLTlHnaPVGOiqNUC1BcPp/pq6n74oKpHjl+qvxAFRNbFsT96MEGRt Jz0neQGixkzcbYGVG7SDXSB3AM/4w7vfSKUqXE/pTKAyuZ8dpIaXbzB5znuRbOJrCDFY 4SFXgV7kNNwensa7hwYTOuXtmM6AfN4U2ZN74cBG5IqYNzluy43+hK1LxALPxlf1SKKo sAyg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id k14-20020a170906a38e00b008697a71e4ebsi30095892ejz.853.2023.01.23.10.05.15; Mon, 23 Jan 2023 10:05:47 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233427AbjAWSDH (ORCPT + 99 others); Mon, 23 Jan 2023 13:03:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42028 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233419AbjAWSDG (ORCPT ); Mon, 23 Jan 2023 13:03:06 -0500 Received: from 66-220-144-178.mail-mxout.facebook.com (66-220-144-178.mail-mxout.facebook.com [66.220.144.178]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E279BCA0E for ; Mon, 23 Jan 2023 10:03:00 -0800 (PST) Received: by dev0134.prn3.facebook.com (Postfix, from userid 425415) id 6F5EE5616BE9; Mon, 23 Jan 2023 09:37:56 -0800 (PST) From: Stefan Roesch To: linux-mm@kvack.org Cc: shr@devkernel.io, linux-doc@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-trace-kernel@vger.kernel.org Subject: [RESEND RFC PATCH v1 12/20] mm: add ksm_merge_type() function Date: Mon, 23 Jan 2023 09:37:40 -0800 Message-Id: <20230123173748.1734238-13-shr@devkernel.io> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230123173748.1734238-1-shr@devkernel.io> References: <20230123173748.1734238-1-shr@devkernel.io> MIME-Version: 1.0 X-Spam-Status: No, score=2.4 required=5.0 tests=BAYES_00,RDNS_DYNAMIC, SPF_HELO_PASS,SPF_NEUTRAL,SUSPICIOUS_RECIPS,TVD_RCVD_IP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Level: ** X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1755837521226598668?= X-GMAIL-MSGID: =?utf-8?q?1755837521226598668?= This adds the ksm_merge_type function. The function returns the merge type for the process. For madvise it returns "madvise", for prctl it returns "process" and otherwise it returns "none". Signed-off-by: Stefan Roesch --- include/linux/ksm.h | 1 + mm/ksm.c | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/include/linux/ksm.h b/include/linux/ksm.h index a18cd03efcfb..d5f69f18ee5a 100644 --- a/include/linux/ksm.h +++ b/include/linux/ksm.h @@ -57,6 +57,7 @@ void folio_migrate_ksm(struct folio *newfolio, struct folio *folio); #ifdef CONFIG_PROC_FS long ksm_process_profit(struct mm_struct *); +const char *ksm_merge_type(struct mm_struct *mm); #endif /* CONFIG_PROC_FS */ #else /* !CONFIG_KSM */ diff --git a/mm/ksm.c b/mm/ksm.c index 288689b59527..57183deaf529 100644 --- a/mm/ksm.c +++ b/mm/ksm.c @@ -2941,6 +2941,17 @@ long ksm_process_profit(struct mm_struct *mm) return (long)mm->ksm_merging_pages * PAGE_SIZE - mm->ksm_rmap_items * sizeof(struct ksm_rmap_item); } + +/* Return merge type name as string. */ +const char *ksm_merge_type(struct mm_struct *mm) +{ + if (test_bit(MMF_VM_MERGE_ANY, &mm->flags)) + return "process"; + else if (test_bit(MMF_VM_MERGEABLE, &mm->flags)) + return "madvise"; + else + return "none"; +} #endif /* CONFIG_PROC_FS */ #ifdef CONFIG_SYSFS