From mboxrd@z Thu Jan 1 00:00:00 1970 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 77F5DC001B0 for ; Tue, 8 Aug 2023 07:41:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 10E056B0074; Tue, 8 Aug 2023 03:41:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0BF6B6B0075; Tue, 8 Aug 2023 03:41:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EC87B8D0001; Tue, 8 Aug 2023 03:41:56 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id DC3776B0074 for ; Tue, 8 Aug 2023 03:41:56 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id A7703C0C01 for ; Tue, 8 Aug 2023 07:41:56 +0000 (UTC) X-FDA: 81100143432.04.BF6AD78 Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by imf28.hostedemail.com (Postfix) with ESMTP id A171BC0013 for ; Tue, 8 Aug 2023 07:41:54 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=AtDIvtmM; spf=pass (imf28.hostedemail.com: domain of yan.y.zhao@intel.com designates 134.134.136.100 as permitted sender) smtp.mailfrom=yan.y.zhao@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1691480514; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:in-reply-to: references:references:dkim-signature; bh=lI+Fq3zWUVQ+DCd5N9ZAZdBGYc8163OF3lr8FBRZ658=; b=weoXaCg+1LyjnSj2/Nko6x7fh0Zxd/M4WAX2/tuAFQKsnvV5fRvtVKGS0oGYPTYwL1XN6S GZlxRqz7K+4v3aQFrb7o54jmvjymKllj56+86CHIqnPe4SMNi70q1mMDobGH51kMUVDPb5 MeR/gGD1EBJGv/A42eqKbxOVt800Wcs= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1691480514; a=rsa-sha256; cv=none; b=Tbi+AOiAM7Z4trB22Z8jamVhev3+3zz2yx6fXnc2eFoVvI4DRbahi1oVVkj2nvIHA8BUqp JYiK23TtIo0Nt9UQ/nv9l7pprPLHaI4j9pDLmt8k+LcOabf8l/F2OeRBTxBWNSPCnLypjO p981owrgQy0T7XffUDFD2eVi2TqQd9c= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=AtDIvtmM; spf=pass (imf28.hostedemail.com: domain of yan.y.zhao@intel.com designates 134.134.136.100 as permitted sender) smtp.mailfrom=yan.y.zhao@intel.com; dmarc=pass (policy=none) header.from=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1691480514; x=1723016514; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=ocUW9vorpBfsQJM0jJFuvi0sbVc6/jU+9IayIc6V+C0=; b=AtDIvtmMpMzt9OW4wVs4aUmTE6+jtwb0uFTo+9awgane9MwD/Ifr2i3D OL2OOiHpvPgid2qLkYu8EUdY8IBIf4ujRENAf//U3z+1Kped5fBfyPIy9 dEK7rR01lEWpbLi4K+JA4MoS9DsCpClDjND5589gfyJf07TZfm8JQaSpu c2M+9n2vFf/eua93A7WFxNolgXIzSlL9YK6a3NqNdo746Gep1FZOiaDyK dhBiCcqbY7odGM6j05ky0zdIDlp7DYp1aFFC5fl1GWPyfDKP5QBskXosx qQ7dcz5gB1YNFbkyq1A8CAtLsnyao51vStcyp8CX8n40qejKpgK5xCQw2 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10795"; a="437077174" X-IronPort-AV: E=Sophos;i="6.01,263,1684825200"; d="scan'208";a="437077174" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Aug 2023 00:41:53 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10795"; a="681143961" X-IronPort-AV: E=Sophos;i="6.01,263,1684825200"; d="scan'208";a="681143961" Received: from yzhao56-desk.sh.intel.com ([10.239.159.62]) by orsmga003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Aug 2023 00:41:50 -0700 From: Yan Zhao To: linux-mm@kvack.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: pbonzini@redhat.com, seanjc@google.com, mike.kravetz@oracle.com, apopple@nvidia.com, jgg@nvidia.com, rppt@kernel.org, akpm@linux-foundation.org, kevin.tian@intel.com, Yan Zhao Subject: [RFC PATCH 1/3] mm/mmu_notifier: introduce a new mmu notifier flag MMU_NOTIFIER_RANGE_NUMA Date: Tue, 8 Aug 2023 15:14:48 +0800 Message-Id: <20230808071448.20105-1-yan.y.zhao@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230808071329.19995-1-yan.y.zhao@intel.com> References: <20230808071329.19995-1-yan.y.zhao@intel.com> X-Stat-Signature: dbdgaxzcypu4cwa86uxw8pdbfug41xp4 X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: A171BC0013 X-Rspam-User: X-HE-Tag: 1691480514-417118 X-HE-Meta: U2FsdGVkX18q+PQazro21+cuNm+RTH5Ln+8wEzwcQGZM61fQYOFrpJ1czQc4UC9+6w6wA5yc3dN14y4Ow95ZFo9joJAZTL9uc1tUTArWs2vp/+wYIF6rVJn8azAQ4O9oqwaJncY5tH39lJZ6rD/5GO9zRcv8EkkQUFYLOJJpyvASVxCOtdcx8+cDz/9a4a52pOhEmt9nIXdcuzXvQ0w3Z33b3UDMjobRD2NGEdPaUSqUkWgloADJVrcjyA0cgKvhSNxYrq+9XTNfNfB8LByvBf5yy8684mKZYc5QKnEKgyoBN17fQwQAhirPBUVK5wFs4OIo0mHX2BlHsC2aZlSMl2qROCpeQHtouikQKU6551vnx+RuCuybAEzxsHgXU/E1G1Ihfz+9vxP2sDaoC/lMZNfnEDC/SN6tEwLiq1X+kp3RkEI9eH+Lr+TN8QT+6BsWgyWEq07NUR26fg3BofpmAm43uJcHbCUuLsF9aGd1Vi64cYKGOXBlgTotTRPmZbHvh46nCGMJ8RXF+3vM8ArOhxcakal0WOn67gvnfmoUvPfbmhM3xx0ZMTQgzLxBbXLDTkAu5wWB7niEuki8niF6Jl0mudAUvUBlNYi+QxcGNP0erO7e8Kx/uqU8NQ0t9Pra5cMa876zyu4igGfMRDgLPqzU75d+mx7C067AoVfquVVBewkE/b1XuM0R81AbQBqmxklPjg4vTCVWfsx3qe7pqZelBkPXhVmpMm6Ts4cExQMaWu6niEar78es20N+s0A9lCe/9m0gRCcRXAAhzH/paFqfV5CQPXrhwWT/cHZ71juUaHJq/FN6g1GGvYBCVQHrmWTNIlb4BZA2AibVDJ9nKDqqKSpzRjqJLMJiqcXLK5o7EFHBJxVRkElQkp4RlHVpVmE7iXDy+Vrn3Hv3+HCoBtQJxxwXLhngCB2HDgYv1IQRKavK+74J4NcZsHVLB5k1Je/XUsieYjvg/xYVn0n hmzW5WRN wod+f8wa6867yKu8m9/e5vVum5V9mIZt+lq9TD/4oRWK9shguPvxsM0q/vCKGhjGePmBCyWo0BLsZU740kzn3plGUg03S9zLSMGSc6eEVO/ArYZwF6F3mKuPVCCVid45LTVkdO4SqnK7d3xe1K7NUHtf3IN5Y+QPVrhGa 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: Introduce a new mmu notifier flag MMU_NOTIFIER_RANGE_NUMA to indicate the notification of MMU_NOTIFY_PROTECTION_VMA is for NUMA balance purpose specifically. So that, the subscriber of mmu notifier, like KVM, can do some performance optimization according to this accurate information. Signed-off-by: Yan Zhao --- include/linux/mmu_notifier.h | 1 + mm/mprotect.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/include/linux/mmu_notifier.h b/include/linux/mmu_notifier.h index 64a3e051c3c4..a6dc829a4bce 100644 --- a/include/linux/mmu_notifier.h +++ b/include/linux/mmu_notifier.h @@ -60,6 +60,7 @@ enum mmu_notifier_event { }; #define MMU_NOTIFIER_RANGE_BLOCKABLE (1 << 0) +#define MMU_NOTIFIER_RANGE_NUMA (1 << 1) struct mmu_notifier_ops { /* diff --git a/mm/mprotect.c b/mm/mprotect.c index 6f658d483704..cb99a7d66467 100644 --- a/mm/mprotect.c +++ b/mm/mprotect.c @@ -381,7 +381,9 @@ static inline long change_pmd_range(struct mmu_gather *tlb, /* invoke the mmu notifier if the pmd is populated */ if (!range.start) { mmu_notifier_range_init(&range, - MMU_NOTIFY_PROTECTION_VMA, 0, + MMU_NOTIFY_PROTECTION_VMA, + cp_flags & MM_CP_PROT_NUMA ? + MMU_NOTIFIER_RANGE_NUMA : 0, vma->vm_mm, addr, end); mmu_notifier_invalidate_range_start(&range); } -- 2.17.1