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 98F06C3DA6E for ; Sun, 31 Dec 2023 06:37:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 30E8C6B0246; Sun, 31 Dec 2023 01:37:39 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 2BE996B0248; Sun, 31 Dec 2023 01:37:39 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1D3F86B0249; Sun, 31 Dec 2023 01:37:39 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 0C7186B0246 for ; Sun, 31 Dec 2023 01:37:39 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id C5C39804C7 for ; Sun, 31 Dec 2023 06:37:38 +0000 (UTC) X-FDA: 81626157396.10.06A985D Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) by imf09.hostedemail.com (Postfix) with ESMTP id 0A010140011 for ; Sun, 31 Dec 2023 06:37:36 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf09.hostedemail.com: domain of alex@ghiti.fr designates 217.70.183.197 as permitted sender) smtp.mailfrom=alex@ghiti.fr ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1704004657; 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; bh=nKjfT989uQpgr6oSWS8y8C9HzzS1ysePYmsw5yKS0vg=; b=AAKqWy8TR7cNKSgNx1+y2FWYPN2Kfr3sa6GiO3eRMquzTcyM5DixBElZFucudTkUkD/sBb pYuvbIDArRHnOsj7HfpPcAO2Sc3KPv7I5Zd4QaVO2IfTGVMaThzp1ueXEeDYb/PA5n621T PeqqyFGHZteq+0btI/kJNuq6evgOSP8= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf09.hostedemail.com: domain of alex@ghiti.fr designates 217.70.183.197 as permitted sender) smtp.mailfrom=alex@ghiti.fr ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1704004657; a=rsa-sha256; cv=none; b=XpRqBBE0jWB3MfBGjhfj67rMdovyhWv4P5FBy2HSRdaihghU71BguEr5K0eT2iR3KUxjrM CnM7e15Wz7fG5qCOJqr1wyruTmHrYLCqFqngIsAvFY03pZl9bsNgALJSAt6tGb+NVWTUj+ 9+SRA6sm1iZUXb+VHO6IIIW/UZz6gVg= Received: by mail.gandi.net (Postfix) with ESMTPSA id CBA7F1C0003; Sun, 31 Dec 2023 06:37:33 +0000 (UTC) Message-ID: <3d36ca3c-9a91-41a7-9e68-288982c2c8a8@ghiti.fr> Date: Sun, 31 Dec 2023 07:37:33 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 4/4] riscv: enable HAVE_FAST_GUP if MMU Content-Language: en-US To: Jisheng Zhang , Paul Walmsley , Palmer Dabbelt , Albert Ou , Will Deacon , "Aneesh Kumar K . V" , Andrew Morton , Nick Piggin , Peter Zijlstra Cc: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-mm@kvack.org References: <20231219175046.2496-1-jszhang@kernel.org> <20231219175046.2496-5-jszhang@kernel.org> From: Alexandre Ghiti In-Reply-To: <20231219175046.2496-5-jszhang@kernel.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-GND-Sasl: alex@ghiti.fr X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 0A010140011 X-Stat-Signature: cjtjruakn8ax39fh65iwbs6fn6sy3rcj X-Rspam-User: X-HE-Tag: 1704004656-496274 X-HE-Meta: U2FsdGVkX1+4SS48CFDo6ok+BJaX9jGf1dUL4Y927mRHfVpoYPhrYLI/CpC2MhIgxdjW9b0ku8tFnAQJaDyvHPCXWwB41EDCug0cBS/KEof/IKKunHs4mmdI6T9vyhTiAxsBJxu8pWAXTyQIaxkWHMjJQGdlvfOka6TloD0fueAQbAL5s2rjtWejoAFIVO5LJI3zVIf7bm+tJLuaOCZUJUjp4Kn/vE6lu+awjkHZHLJD/iEXQv96GaddUoy6EIreUDVRZ6HwDyEpVhsewtquy83vboDXrFPZIpMNEJ12+7qLkMjg7tqqGmL0xcyY4fTSKAoc1RKohBp9+xl/6BVKybB/OFgfXL8a8g49fgqUOYdZ0lFzKjJIDU//x6nxoqaO7NT1bFjn7Q6u6Mpre368m+5MZ0c4eQLSaRLJWx2Xatn2EqlUXaGY1CWAatXMgjLg66Y99g7JQ177Z/pOyDc0E0ViGNiuuIMnQ4vXbGoOGIEVLAGlahvgcw6TAvsv9kr4MPBUTzj95czeEc0gWA0ZFvL3ark4MT0WyVRiIn8VW0mRUJ/imkAKtVhRvYVApDPQ0HhM4XWOubpZ1q/z1N4wzKUqvhh7lF6j7N5maJLrAn95UHnqnUtOP/Nne8ht02Tc6MGd8nlFpe04hnSv6hZEncOzMCNBwc/6olZaMHH602uMD8b07llzePHIuoJn4vj2nbjEW+/iT6hz1j6HJ/0NT2rwVIu+PRlziUsdX3aRHYYb21NeE6QNEh2qscE3No1eDR9ReVyhoJWWzjZ98cDKVuVMbwQvspXmrBY7bp/Oe8UJSOU5c4ByihgPJFEjfxh6aLvKcIvuQFplAwFW8yffa/5UGg1ZLAd3oPxGSXJasRBCdWJ9pplBhQNh/sAL/iCEYqPOj4PoU1xez5BUrk5UMQVqug1c3hEd1BUbNham4dOdm0jDI7axVn1gegLj4Vx+6V3f1WmWAZ9aAnBgrFs Lk1HvnQZ Z3RiNlNvJn1e16gdsKVO7SudwhVP3xQUcX+h/a1Cwrw4eIyoMYbdkIkmaWclEGqS5IGlY6Nicd8PiD0x7Z267nWZKJD1nD+TRxqTHhW01t0wAq1vuW9l8FDPZ0+HXexql6Fx4ZriE3DbNdnuOEZUhAbPXxS6919HRRRs3mlIrxWd1hD3Bw/ZMkpOmtO+VXm4R9tPD X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, 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 19/12/2023 18:50, Jisheng Zhang wrote: > Activate the fast gup for riscv mmu platforms. Here are some > GUP_FAST_BENCHMARK performance numbers: > > Before the patch: > GUP_FAST_BENCHMARK: Time: get:53203 put:5085 us > > After the patch: > GUP_FAST_BENCHMARK: Time: get:17711 put:5060 us On which platform did you run this benchmark? > > The get time is reduced by 66.7%! IOW, 3x get speed! Well done! Thanks, Alex > > Signed-off-by: Jisheng Zhang > --- > arch/riscv/Kconfig | 1 + > arch/riscv/include/asm/pgtable.h | 6 ++++++ > 2 files changed, 7 insertions(+) > > diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig > index d3555173d9f4..04df9920282d 100644 > --- a/arch/riscv/Kconfig > +++ b/arch/riscv/Kconfig > @@ -119,6 +119,7 @@ config RISCV > select HAVE_FUNCTION_GRAPH_RETVAL if HAVE_FUNCTION_GRAPH_TRACER > select HAVE_FUNCTION_TRACER if !XIP_KERNEL && !PREEMPTION > select HAVE_EBPF_JIT if MMU > + select HAVE_FAST_GUP if MMU > select HAVE_FUNCTION_ARG_ACCESS_API > select HAVE_FUNCTION_ERROR_INJECTION > select HAVE_GCC_PLUGINS > diff --git a/arch/riscv/include/asm/pgtable.h b/arch/riscv/include/asm/pgtable.h > index ab00235b018f..c6eb214139e6 100644 > --- a/arch/riscv/include/asm/pgtable.h > +++ b/arch/riscv/include/asm/pgtable.h > @@ -673,6 +673,12 @@ static inline int pmd_write(pmd_t pmd) > return pte_write(pmd_pte(pmd)); > } > > +#define pud_write pud_write > +static inline int pud_write(pud_t pud) > +{ > + return pte_write(pud_pte(pud)); > +} > + > static inline int pmd_dirty(pmd_t pmd) > { > return pte_dirty(pmd_pte(pmd));