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 9FA77C54EBD for ; Mon, 9 Jan 2023 07:19:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8A0D4900002; Mon, 9 Jan 2023 02:19:43 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 82AAD900003; Mon, 9 Jan 2023 02:19:43 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 54ACA900002; Mon, 9 Jan 2023 02:19:43 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 2F06F8E0001 for ; Mon, 9 Jan 2023 02:19:43 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id DEDDF1A046A for ; Mon, 9 Jan 2023 07:19:42 +0000 (UTC) X-FDA: 80334410604.30.A103EE8 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by imf09.hostedemail.com (Postfix) with ESMTP id 0411B140003 for ; Mon, 9 Jan 2023 07:19:40 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=YniMldMD; spf=pass (imf09.hostedemail.com: domain of fengwei.yin@intel.com designates 134.134.136.100 as permitted sender) smtp.mailfrom=fengwei.yin@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=1673248781; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=HCxb6co2puvxDMcg8PlLaV1XdBVBssCEk/cbsuMmJb4=; b=SIpBlT4KQBf98ER0MVRx7l33voKQspocdw7WD7OuFWoIMVgng8Vo+WAzSUqvimn4OWQjeH gk8rpz7d6AxRA7RFet6ySIrLUWDmB+lHus+cUwicJkJictSGe6vcDtHn/weppWmX2958x5 uBdQNQn5Y6QEHOhifTOsUEmpOcvpbuo= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=YniMldMD; spf=pass (imf09.hostedemail.com: domain of fengwei.yin@intel.com designates 134.134.136.100 as permitted sender) smtp.mailfrom=fengwei.yin@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1673248781; a=rsa-sha256; cv=none; b=GnqQg7A8APVxRfu4vbuRNkxGSmvN1bT/2HLxngJl1t+tANJXi1feb1dzaSxyoGmDtPbvFZ Y4vwZH033SGGRD2KgCmz96b7WtD2Gxaqyj/fnememWIUVlEPivo9YZ/K7iOkq+km28q0Ok 3STPWrhMBpcar779JI7D9g8eIW3UYBs= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1673248781; x=1704784781; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=CxFvIjMgroEmPoheOidP0ThTbJZhYjtVPzD7cNlzE8E=; b=YniMldMDKN3egg9/TRlMcNKUn8WJNUiTui4/KTv1hb9TsfZQvQghrB0w QLcOHuwCB0xA7olvZT6Bh2UYHr4+ICBuBtbefmOu1YW5Zmin68yxo6tB7 6XroFPekgDesMiw3NFgA2c1Em8vzlExj7bfH2CGAp+M3iAHxQuDzuR+bU YCB9z0+OoiC2APw4uE0zu1HIq5oYOFW4d+qGbjjfElyGvnv/EQNovea1m mdUVxbIF0JaJ4zO9NnNYeo1WWykPNxut1MybAAKi60HkFGoJCFN51jwIp zWQ04hK0PwwMr7bWxWYh7MTNuPgA7tpz3iTAayW3MyehamXibarFB9MVz w==; X-IronPort-AV: E=McAfee;i="6500,9779,10584"; a="387260946" X-IronPort-AV: E=Sophos;i="5.96,311,1665471600"; d="scan'208";a="387260946" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Jan 2023 23:19:33 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10584"; a="634112126" X-IronPort-AV: E=Sophos;i="5.96,311,1665471600"; d="scan'208";a="634112126" Received: from fyin-dev.sh.intel.com ([10.239.159.32]) by orsmga006.jf.intel.com with ESMTP; 08 Jan 2023 23:19:29 -0800 From: Yin Fengwei To: linux-mm@kvack.org, akpm@linux-foundation.org, jack@suse.cz, hughd@google.com, kirill.shutemov@linux.intel.com, mhocko@suse.com, ak@linux.intel.com, aarcange@redhat.com, npiggin@gmail.com, mgorman@techsingularity.net, willy@infradead.org, rppt@kernel.org, dave.hansen@intel.com, ying.huang@intel.com, tim.c.chen@intel.com Cc: fengwei.yin@intel.com Subject: [RFC PATCH 4/4] mcpage: get_unmapped_area return mcpage size aligned addr Date: Mon, 9 Jan 2023 15:22:32 +0800 Message-Id: <20230109072232.2398464-5-fengwei.yin@intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230109072232.2398464-1-fengwei.yin@intel.com> References: <20230109072232.2398464-1-fengwei.yin@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 0411B140003 X-Stat-Signature: zs5cxhbk3ez1xx5w4zqstz3y5pe4fk4t X-Rspam-User: X-HE-Tag: 1673248780-872796 X-HE-Meta: U2FsdGVkX19rB2N/fJpZb8XZMd/F6z5vcLOTzLyFfIhRdkarREz82SxoqTdMLQW7euULSya0SydWZxErR5GEHfySiU/NVTYDtSk5/OxuY9WoQBCk+TiYbQtJfDqbFHVm4NZdy98u5ugsqgHoCtjQsCLO6Rl5H6KQ/jz6GDPJ1jIfE9UH9wVdO6+IDl0B54av6K3nd2orZeuNwDs6bczsBP7HYrta5gKjiemQFZnLEiQ34sm6TUodT5Hu6ru7lMe4ku6sqGXJrkbPv9jlg1FPgMImUn9QIS83ak15lpCUrM9SiTx0vI31oxVKWx1NQWNOQaVYvpRnwjUdxlpoRCh5aSTH9atb/m5Mscf8iNC2qIRsLHChMLv7X7bkiLOBr1wNB4A1U31PNDf3y76wv5LiBApnSRWy+b2zJ670Sb6Bg1rzJxzkNWCrbCQks28N1Igod2fowxuMzZAyzNiKMtHvBX29+tpato9O7jCyRw0pIUCEWdTCKJjYAdq0DV8RgmHaOef6bA+1EJLcy+AspdF7ohhkxvdLjNjrmLYS52tPusTbpUra0smDRapsndYf+Goa+XjC4GDkPnpWPeH688212h0vO6MdjeIwyVRPmW1OR6Ho/26Us4ppYiMZrECSHZy4nKP3jIN52lHpPSwJZbceTGuL+4GVLC2LtPp0tzOQPVSgg1y+sCwy7tcO0/YQMDKGpoZ9XoKVm9EHYQouU1V7w1w7tCHE4c9PCCQCkV1QyyG2YBfG4r8NasGvqRbvq8fdILIT0OsOHSNY/lCk5DoyVo6kXZ8qeP+KG2ldF66IHWIVK72blyCw6bifNC6reF4wamFchrQn4L4u77d5RN6KdBdvIA1Z2FqbbthfkEWb7ScRGC0CYCCwXQdngsyo2nvIJEUMlHQb9fwgJO4o012MB61qUVUkTNBbVKaA0CsqLSQf20x6ebOWNsAXGFRQp1Xg215DUMSIrRo= 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: For x86_64, let mmap start from mcpage size aligned address. Using firefox with one tab to access the entry page of "www.lwn.net" as workload. With mcpage set to 2, collected the count about the mcpage can't be used because mcpage is out of VMA range: run1 run2 run3 avg stddev With this patch: 1453, 1434, 1428 1438 13.0% Without this patch: 1536, 1467, 1493 1498 34.8% It shows that the chance of using mcpage for anonymous mapping is increased 4.2% with the patch. For general possible impact because the virtual address space is more sparse, run will-it-scale:malloc1, will-it-scale:page_fault1 and kernel build w/o the change based on v6.1-rc7. The result shows no performance change introduced by this change: malloc1: v6.1-rc7 v6.1-rc7 + this patch ---------------- --------------------------- 23338 -0.5% 23210 will-it-scale.per_process_ops page_fault1: v6.1-rc7 v6.1-rc7 + this patch ---------------- --------------------------- 96322 -0.1% 96222 will-it-scale.per_process_ops kernel build: v6.1-rc7 v6.1-rc7 + this patch ---------------- --------------------------- 28.45 +0.2% 28.52 kbuild.buildtime_per_iteration One drawback of the change is that the effective ASLR bits is reduced by mcpage_order bits. Signed-off-by: Yin Fengwei --- arch/x86/kernel/sys_x86_64.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/x86/kernel/sys_x86_64.c b/arch/x86/kernel/sys_x86_64.c index 8cc653ffdccd..9b5617973e81 100644 --- a/arch/x86/kernel/sys_x86_64.c +++ b/arch/x86/kernel/sys_x86_64.c @@ -154,6 +154,10 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr, info.align_mask = get_align_mask(); info.align_offset += get_align_bits(); } + + if (info.align_mask < ~MCPAGE_MASK) + info.align_mask = ~MCPAGE_MASK; + return vm_unmapped_area(&info); } @@ -212,6 +216,10 @@ arch_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, info.align_mask = get_align_mask(); info.align_offset += get_align_bits(); } + + if (info.align_mask < ~MCPAGE_MASK) + info.align_mask = ~MCPAGE_MASK; + addr = vm_unmapped_area(&info); if (!(addr & ~PAGE_MASK)) return addr; -- 2.30.2