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 89268C636CC for ; Sun, 5 Feb 2023 21:54:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CDA926B0072; Sun, 5 Feb 2023 16:54:01 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C63956B0073; Sun, 5 Feb 2023 16:54:01 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B52606B0074; Sun, 5 Feb 2023 16:54:01 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id A7A5E6B0072 for ; Sun, 5 Feb 2023 16:54:01 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 70097A065E for ; Sun, 5 Feb 2023 21:54:01 +0000 (UTC) X-FDA: 80434591482.11.4A62578 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf07.hostedemail.com (Postfix) with ESMTP id D11F140006 for ; Sun, 5 Feb 2023 21:53:58 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b="b/jQmwus"; spf=none (imf07.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1675634039; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=RqB01JKJ480rGCRYi3MYvZSD9xmxNgFCHWnDzGevnWU=; b=QqrBxi0b6PK/89i5YdhIYmqeWaDiurKoDbYtGA7mtIwvBsValp6zRWOjmL3nLMj5TDVH9e 1Lq87S+kLsXb2QaDloDvQCPMNuPc+LQ8vEMt6UMT8Q4Oh/zurkZXrsyC2mVlPYLvjUv+ym V1DqVkMK3Vy3dHKJuqChwoD9oOv8sas= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b="b/jQmwus"; spf=none (imf07.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1675634039; a=rsa-sha256; cv=none; b=n1SbsIJMZy5XIPniDf18o+xtLqzRU0Lwsdwz6FgMCfynV+SpKc6E3w1zjNrjTRzJTn5Mhi iSgwQN9KOx3yKeh7e92LZPxCs/TyYcUFWl6KpXM3tGVr2khKovp9rh+AQxUJik14saSTVd Ql4dd2KtpKJxQ8IQGTOJf27DYRgoZYY= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=RqB01JKJ480rGCRYi3MYvZSD9xmxNgFCHWnDzGevnWU=; b=b/jQmwus8UqBO52yi5yoAjs+0+ Qw1bl6n+lZ9ZuOrJcqjq0IJgLrLDVUlOjceBHenJBVxLOt6Qbj4t6VeiKA278aVxgNzWOyYNej8V5 /YUQB1g58PWDL0XIVIWWYJvGiZtmpsJ/DmXVfZ1ldbZ6Z4w5Sjv9OSNZ6rE/D/zMlWU95llRlRDRR liWAo1GAe72kIuEYSooheLW3qizvGCZqzReY1H1huZkG0hN+GrAv3TGu/PddXJg+NeWg4T4ViQYs4 RJ2VhHyk5M+P7uUF7qjHW9AhO1mA6v3xE51797pvc7vxI7YtImQAjewi5z6TQCpbuuyO/y6WxEL+H fc7w34Rg==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1pOmxN-00GFYS-NP; Sun, 05 Feb 2023 21:53:53 +0000 Date: Sun, 5 Feb 2023 21:53:53 +0000 From: Matthew Wilcox To: Hao Lee Cc: akpm@linux-foundation.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm: eliminate function call overhead during copy_page_range() Message-ID: References: <20230205150602.GA25866@haolee.io> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230205150602.GA25866@haolee.io> X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: D11F140006 X-Stat-Signature: r4e6kwkht95hqofm5h3ws1hggp5px33r X-Rspam-User: X-HE-Tag: 1675634038-94794 X-HE-Meta: U2FsdGVkX186yoQ67MH+iARcdCQJuNuwTQIyKD0GAfnZ6iyt2WRskR+YquaAs9nG++1vlhLxA5dnvGCzrdgQS1Cg0TxeQK5D/cPmcaNmW2zvltnLeW1SmCIbaZTOevBslx8qGf/oAMe3mgdZYfDR5Yj8e79jy+saNGbz0vhd6r4/NT2t3wNmMiqp27wlvqghuMquJt6LsIJBYfVmd+/4bU7D+KbmD8wDTt1ea2sFGwAhEUP9xz8+/Xks31WnY0J0K11GNX+h3IUk/GMERGGQDaBxYeDzcccgnpBUi1XBx8TOp3Gb267RrAm+0YadgxN+uysvGqIspdTQe7NbpfADzAqGBVS46ryFT2+zbPSymnmDnifSluJsr68XipR48EyZSSnkm4hdcZFTLaveQkzUyQK9UrioU0fTN4mIndqi/qwOa3LNa5EaorHGmY/yRR1tDQh7OIMhpcTYn6sC5yQRqu6uYEemzK9vD1zFRgffr+x086Ppf5R/yZNp9gU71RJJ8/o3sQaaq4MSRoKSAFA8bZnaj5ArDvSYWO/6xg+nA52TyI1dJUEWuqsh/zc5ZLl9BSAUOj7zl1A+4XxWi4+i6mfzlSESBlBHPELhwhUSGpNie2yjwr9ahuakq2u7cr2CxRQORSps0T5EXwPPKbclON66C5y95lTCtxuM76E+liLHRlEkAsqsvbDVxfbpo9zSvNuUbwCjUuTmCRmiyCysJfhx4JZolZytGlD4SMc1A38ciqs9taddEiSXKQR/ucHkLQ8oPK38LUcb2MU1pDrvXV2awp7DV6ChynJyTEZ1WvBdrPHZjdrxWQLx9HRW8BVSiVvqixBnh5O5mQljupSsVgFl/4CTFs0Lj+BHakoCWeT8aoKgi6ARKud6U1uLDActIEcuqkpiTjECXC/9xT33XQ4Lm3w77++IrCZcn7lVm9XJN3FnFgCSJ8lkgCZW0u7ISQFr58pCKOKt6/bKrej XIzKLWOi cwA06lkI1HcE6P9e9Aq/pITsYO+Po20fm4/80JVIZEnqrQxGMkxiWCIoX/i4qH7KxPro5xjzIAoqjtQBAuztnHw2w6uiWs3ciaklpvmq7WJbF2Eiz8idBsSELwyZ/tQxDJR5IQMchOMZ3F0LcQe4NsLg96Ojkc/9sOVzrDQEmw/3GwRIY1g5R9aujFgzsrhGouyPBl8NRoU91nELvsmGUAXUWZesp9nhPxRlJKY0E2S007rlF0B5iczCRQguPN6kL1BGwCLABzF8qz9I= 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: On Sun, Feb 05, 2023 at 03:06:02PM +0000, Hao Lee wrote: > vm_normal_page() is called so many times that its overhead is very high. > After changing this call site to an inline function, copy_page_range() > runs 3~5 times faster than before. So you're saying that your compiler is making bad decisions? What architecture, what compiler, what version? Do you have CONFIG_ARCH_HAS_PTE_SPECIAL set? Is there something about inlining it that makes the compiler able to optimise away code, or is it really the function call overhead? Can you share any perf results?