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 D07CEC3ABBC for ; Fri, 9 May 2025 07:38:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6C8E56B00B3; Fri, 9 May 2025 03:38:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 651C86B00B4; Fri, 9 May 2025 03:38:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4F2B16B00B5; Fri, 9 May 2025 03:38:22 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 2E9C66B00B3 for ; Fri, 9 May 2025 03:38:22 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 417E081211 for ; Fri, 9 May 2025 07:38:22 +0000 (UTC) X-FDA: 83422566444.21.8A11BB0 Received: from out30-132.freemail.mail.aliyun.com (out30-132.freemail.mail.aliyun.com [115.124.30.132]) by imf09.hostedemail.com (Postfix) with ESMTP id 36062140009 for ; Fri, 9 May 2025 07:38:18 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=ZKHfJd3+; dmarc=pass (policy=none) header.from=linux.alibaba.com; spf=pass (imf09.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.132 as permitted sender) smtp.mailfrom=baolin.wang@linux.alibaba.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746776300; a=rsa-sha256; cv=none; b=QZOsNut1Du6XAUAT874V7+iMZm9S/PAiONXMXFWDcHiUqGZPi86tkK4TCDhIk8cCx5yIP/ 5vGJRMVLA1MJDdJ9TkIG2MsK8RdCMYZKTD154vFojR0SiMq41F0TxAFzY0hoPiy+AM13dc sX6HU/l4Txl0O6tDoBYEp7hY7Ys+LI4= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=ZKHfJd3+; dmarc=pass (policy=none) header.from=linux.alibaba.com; spf=pass (imf09.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.132 as permitted sender) smtp.mailfrom=baolin.wang@linux.alibaba.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1746776300; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=UjItfSwvxLmNsccSLgsOsMnD5rLojslGm5rEXbWfaAs=; b=AtnltKIWtyLy1JdLqfdy9fW+9YTw6BV/WZJy2Pla1/Tm1cKL9qOr2fAe2ZK8RXxH1eiZ3r DkCgQAeRugTDAqwXgtE95pYHWjU7JHLwmGIRBf+Ol4/wUE6arhPzhSr8/fdhx7XfxhmvEL w47wnSRyrMKR8coewy4ApXlt1EgiXHg= DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1746776295; h=Message-ID:Date:MIME-Version:Subject:To:From:Content-Type; bh=UjItfSwvxLmNsccSLgsOsMnD5rLojslGm5rEXbWfaAs=; b=ZKHfJd3+HZm6n0sYvq0NEgOfEG9o8dMCHvJq3r1wGs1sPUKRFkLOZolFbg6iOY1crLauZNBsFYJtMyStgIYmd1b7psbYtdunFORXJ/7KEMuE6Fn49fRQD0ClY0jboWo/aIgg0uYPGKLYDoRa6FcREkeQtS2f2CYof9GQi9NzMzY= Received: from 30.74.144.121(mailfrom:baolin.wang@linux.alibaba.com fp:SMTPD_---0Wa2UmNr_1746776293 cluster:ay36) by smtp.aliyun-inc.com; Fri, 09 May 2025 15:38:13 +0800 Message-ID: <653bd82d-6c61-4114-bbae-a5f79e811a43@linux.alibaba.com> Date: Fri, 9 May 2025 15:38:12 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3] mm: mincore: use pte_batch_bint() to batch process large folios To: Dev Jain , akpm@linux-foundation.org, david@redhat.com Cc: 21cnbao@gmail.com, ryan.roberts@arm.com, ziy@nvidia.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <99cb00ee626ceb6e788102ca36821815cd832237.1746697240.git.baolin.wang@linux.alibaba.com> <42ab3f69-82d3-475f-b38d-8e75b2819865@arm.com> From: Baolin Wang In-Reply-To: <42ab3f69-82d3-475f-b38d-8e75b2819865@arm.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 36062140009 X-Stat-Signature: bf9feigcekb6ikbwy5b37u9zttn8hynf X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1746776298-722048 X-HE-Meta: U2FsdGVkX190mWkPR1euZ8ALwZchaTaFnr2rXRITfDfxMRgFfKDqEs6SkFx128xd3BgrDB1F83CmEH8pDbMhYbJOpyFPOGyihiNAbkwhvwz8Qq3U162q7B38oDkCuS42f8FPTf7Pb2Za0dqZensVDLNLd/eMinF7q6v4MBZVcDdnMi9Gb4ct1gvrg9mj/W7Y1vxNnuEvLFqmYzDkrPyI2zJiMR1gE3z957Det6yQJN7kGPlX2gXybldyEzOHwjigadUKLSiVVjmC7o2cjJzOAeJVVa7qDNyaSAW/9fdhr14TkVji43IvaiG2Ras0uo4wlE6cYTXyGfjCLxsenRCh/9V3igQMwuXjqEy3r519MAhD8aPkXt3iR2V0+R8XkYIBwm0GAXA/gIbssseoYqMHCOn5e0eAfs/I7QzMfLDZoFJfGU2RRY3DJQIua60GcSaiL3rezmuslWucKMFVoCUn1EWHHFHI2G1ptKV9W19m/g6a3WSZaiNsNJ6giWBtEthiAugW3rJ7cgyGIdSN2hJcFNqbxnzoTuzzZfO5ALIGt2ypiqhysc5zNNpOpGIG9lMPvrLVRDZyAU6ADgMYEgyBBqkUHcjtXgjcrvjeJfrOF/qYMVGaGX2FDcY8NHYG4B5HtqE5aYHhqL96Kj/r71DJHhMM484RstC3kPZFzdHAl9LE72e3KmZIWg8V120zOU7fqNZlXfQ5qv0nIKDzZXmS+/YrVTdTR2UXSWBrKcbWEUfWAwjEMLeTMJpZtNF4rkExfl6Ks5KAVTGI2LAZS2E7DWdT74wtjebjpPo0hWkQ/a4bh8uBxxeGRs27LnZV15dVsWxpYA+e45Le3743ZWAqex2dVIGrC27bL0n+xEBPkxWYsAocV3aBJif0elTAw6VBVcjxpzPtGxnSfageROi+DxsBa6m+lRVRR9IXBlx24ZkMys+47BA3VZ0Rbgm1nAHDdfBVPxob5/DiSSN/8VO 0sgtOSPb F/etjpHgYLx59gHrGdxJGp1JhDW1/B8UrzHYOZaJ0d5fOG/P2FbLyrIUhgfpzJrkJ672OnyXT0N5vDdFSrT6yNRwTWQERNxNq/wlMdBiCfI6FFelC4XBgoYwjtp8Rh9OOxJIcD4Nhmrh8TF1lrgeLIaC/OpUmfLv/n+PSrQs5xcMiaN7zMstqd1lkbbX/SnYwCKmoqwrjAlL0fv/veQ0VtMbgQmL3SQZXAgeO07iFVyiySexeEwQ+uTF1bXyKgRO2hu91O3scSa5FHmJvNDaW9Zf/ge/ou3fGcWa8BRJJV+udhdZBkftlYiL+XlNKebkZaVgUvJJUpdEELJcaqj35KBKx6iFhmRnP2RT/kxWS8yt4k8HeOQ4FkZtC9eTnfjf7TU0UjinxfV0lnme2Z6Sbgfcasg== 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: List-Subscribe: List-Unsubscribe: On 2025/5/9 15:30, Dev Jain wrote: > > > On 09/05/25 6:15 am, Baolin Wang wrote: >> When I tested the mincore() syscall, I observed that it takes longer with >> 64K mTHP enabled on my Arm64 server. The reason is the >> mincore_pte_range() >> still checks each PTE individually, even when the PTEs are contiguous, >> which is not efficient. >> >> Thus we can use pte_batch_hint() to get the batch number of the present >> contiguous PTEs, which can improve the performance. I tested the >> mincore() >> syscall with 1G anonymous memory populated with 64K mTHP, and observed an >> obvious performance improvement: >> >> w/o patch        w/ patch        changes >> 6022us            549us            +91% >> >> Moreover, I also tested mincore() with disabling mTHP/THP, and did not >> see any obvious regression for base pages. >> >> Signed-off-by: Baolin Wang > > Nit: The subject line - s/pte_batch_bint()/pte_batch_hint() Ah, fat finger. Hope Andrew can help to fix it:) > Otherwise LGTM > > Reviewed-by: Dev Jain Thanks.