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 E35BAC00140 for ; Fri, 12 Aug 2022 04:58:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 234DC8E0001; Fri, 12 Aug 2022 00:58:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1BBE86B0075; Fri, 12 Aug 2022 00:58:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 05E178E0001; Fri, 12 Aug 2022 00:58:49 -0400 (EDT) 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 E66E46B0073 for ; Fri, 12 Aug 2022 00:58:48 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id C6924AB39D for ; Fri, 12 Aug 2022 04:58:48 +0000 (UTC) X-FDA: 79789735536.28.C7E6B00 Received: from smtp.smtpout.orange.fr (smtp-24.smtpout.orange.fr [80.12.242.24]) by imf25.hostedemail.com (Postfix) with ESMTP id 5270BA0182 for ; Fri, 12 Aug 2022 04:58:48 +0000 (UTC) Received: from [192.168.1.18] ([90.11.190.129]) by smtp.orange.fr with ESMTPA id MMkwoiWPCbJVVMMkwoGkN2; Fri, 12 Aug 2022 06:58:47 +0200 X-ME-Helo: [192.168.1.18] X-ME-Auth: Y2hyaXN0b3BoZS5qYWlsbGV0QHdhbmFkb28uZnI= X-ME-Date: Fri, 12 Aug 2022 06:58:47 +0200 X-ME-IP: 90.11.190.129 Message-ID: <6754c5ec-7b89-0393-659b-5c0487a70138@wanadoo.fr> Date: Fri, 12 Aug 2022 06:58:45 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: [PATCH] mm/mremap_pages: Save a few cycles in 'get_dev_pagemap()' Content-Language: fr To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org References: From: Christophe JAILLET In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1660280328; a=rsa-sha256; cv=none; b=euGrLk1pWEdWXfDvknEO5JLNiukou5O8tOisps5tpIY5Zh3eUaqLbr21wDiIVTVEduGRv0 2g82KXQwJyymYUcoS/7WaFwnvTR4jYrL/cLLpsiIu4nLhhFmC0Pl6qREEG292afNn4YIUW qYKSU5lLyzF1cGEnGwuSVI0pIbdaqEQ= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=none; spf=pass (imf25.hostedemail.com: domain of christophe.jaillet@wanadoo.fr designates 80.12.242.24 as permitted sender) smtp.mailfrom=christophe.jaillet@wanadoo.fr; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1660280328; 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=E3XdQ+bfsZbI45XHW+2QuHD0xJYQGwX0z3lVVwuCy9s=; b=ihrto3OjDEzp5z73jb0UkejSYLzsqc14G82FbLPZLoeFoEcwhaH3ugt1IH6lWvzi0rgmCh kXs3DTJdmDLWcqJHWLDaxpKbvOc2s8LPe+wQFK09mWdAk7CWJq+lOxRaFPhIe2d+YQ4ehe zJDilFnmkFuVrr6MTMy3/aE3n8jOONM= X-Stat-Signature: k93mbeyhjk1b5t1jt5at78wjpjfabs3j X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 5270BA0182 Authentication-Results: imf25.hostedemail.com; dkim=none; spf=pass (imf25.hostedemail.com: domain of christophe.jaillet@wanadoo.fr designates 80.12.242.24 as permitted sender) smtp.mailfrom=christophe.jaillet@wanadoo.fr; dmarc=none X-Rspam-User: X-HE-Tag: 1660280328-999178 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000029, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Le 03/11/2021 à 22:35, Christophe JAILLET a écrit : > Use 'percpu_ref_tryget_live_rcu()' instead of 'percpu_ref_tryget_live()' to > save a few cycles when it is known that the rcu lock is already > taken/released. > > Signed-off-by: Christophe JAILLET > --- > mm/memremap.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/memremap.c b/mm/memremap.c > index 84de22c14567..012e8d23d365 100644 > --- a/mm/memremap.c > +++ b/mm/memremap.c > @@ -506,7 +506,7 @@ struct dev_pagemap *get_dev_pagemap(unsigned long pfn, > /* fall back to slow path lookup */ > rcu_read_lock(); > pgmap = xa_load(&pgmap_array, PHYS_PFN(phys)); > - if (pgmap && !percpu_ref_tryget_live(pgmap->ref)) > + if (pgmap && !percpu_ref_tryget_live_rcu(pgmap->ref)) > pgmap = NULL; > rcu_read_unlock(); > Hi, gentle reminder. Is this patch useful? When I first posted it, percpu_ref_tryget_live_rcu() was really new. Now it is part of linux since 5.16. CJ