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 9D5D1E81DE8 for ; Fri, 6 Oct 2023 11:41:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3A2308E0013; Fri, 6 Oct 2023 07:41:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3529E8E000B; Fri, 6 Oct 2023 07:41:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 21A8E8E0013; Fri, 6 Oct 2023 07:41:03 -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 0E4D08E000B for ; Fri, 6 Oct 2023 07:41:03 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id C73D412052A for ; Fri, 6 Oct 2023 11:41:02 +0000 (UTC) X-FDA: 81314845164.08.5FEEFC0 Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by imf11.hostedemail.com (Postfix) with ESMTP id C152940006 for ; Fri, 6 Oct 2023 11:41:00 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=collabora.com header.s=mail header.b=hTcn1xm8; spf=pass (imf11.hostedemail.com: domain of usama.anjum@collabora.com designates 46.235.227.172 as permitted sender) smtp.mailfrom=usama.anjum@collabora.com; dmarc=pass (policy=quarantine) header.from=collabora.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1696592461; 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=HQUiHj6dje7lPqHjRDRBwEFbgBxgHOFLAxZg6oKVnSU=; b=GZgsp7BtBCWt3YQkMNQ5kkGWscxaKQ2Tvhf3x0avycjZu4ldQq1HNWohGC+ZC0Oi8eLk07 zXUm2PEMqlXTA6YdxpwE9OhLPflfznJTDRAA/RLZKuzOWsIWBtg3brmz+9A/I68lbRv3aU nBIdi/y3So1H9RKtR2idE37M3z60dmo= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1696592461; a=rsa-sha256; cv=none; b=DA9p0vhIwrvwGxhwhMwExfvHBunpnu3z1MYdKqBZraXxgWFaRmMkAsogr4iWaTQpEj/a74 /MPcgPCcS4VYJs+/WfQXbuCtsesTKl6uyzjks8sc+jYOXQodYT6y5RokA8PVgKiF2/rB5v 0jZg/vr3r5pLNlq6ZQWFqwXsCdjBAqM= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=collabora.com header.s=mail header.b=hTcn1xm8; spf=pass (imf11.hostedemail.com: domain of usama.anjum@collabora.com designates 46.235.227.172 as permitted sender) smtp.mailfrom=usama.anjum@collabora.com; dmarc=pass (policy=quarantine) header.from=collabora.com Received: from [192.168.100.7] (unknown [39.34.184.141]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: usama.anjum) by madras.collabora.co.uk (Postfix) with ESMTPSA id 4D75C6612A7A; Fri, 6 Oct 2023 12:40:57 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1696592459; bh=ZDyYuG9iSvl4sm1CTET1n1lNwYdeHLIPj4SXX+NUK/4=; h=Date:Cc:Subject:To:References:From:In-Reply-To:From; b=hTcn1xm8hsOadKSXGJ7C16RQBesuRfTM+rbFhkg0MhpPV7TbjMG82uTihjmH4Iqmb wktBPSS7ZVIab05IHstdZaZCxO0HC+yV0VGAhknzWhXW/UHDe6dvHR75bgW4J0jsiQ DsfIahZU0ggwi1WUFXVgohISM4URzSgWLlT1P0JFIUXRQfhhAe2N1AJ9UlGeSeBJDG 0YxwHUYaDMxRTJA1EHeAUuIO2hgmyjcGBIraZcVtXz5KxMnZeDEKjho0e2dML78f3f fP2/Ggmzw8Fsyaz2b3i2UlWRCsyTQX/QkhdyOAbTrTU7Bwva98IQqTGjb5tNK2hVEl q5EkrWCFTkuQg== Message-ID: <6cee3838-1807-4983-9d7f-b3a30ee30563@collabora.com> Date: Fri, 6 Oct 2023 16:40:53 +0500 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Cc: Muhammad Usama Anjum , linux-kernel@vger.kernel.org, linux-mm@kvack.org, kernel@collabora.com, Paul Gofman Subject: Re: [PATCH v33 3/6] fs/proc/task_mmu: Add fast paths to get/clear PAGE_IS_WRITTEN flag Content-Language: en-US To: Andrew Morton , =?UTF-8?B?TWljaGHFgiBNaXJvc8WCYXc=?= , Andrei Vagin References: <20230821141518.870589-1-usama.anjum@collabora.com> <20230821141518.870589-4-usama.anjum@collabora.com> From: Muhammad Usama Anjum In-Reply-To: <20230821141518.870589-4-usama.anjum@collabora.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: C152940006 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: 5k4n7zk85q7o38umiqahe5ropsjp586n X-HE-Tag: 1696592460-508452 X-HE-Meta: U2FsdGVkX19V2yFbKeMumxfyyWz6LwadDuk44HQGg6bWkA1cbPABea4tgGVDFq/2i/ImFqP6eGFhOKpSSSo3oOgiqDqXlSq4C3dWlqUyeRv8DPRnuFQY4JksLUnZ1wizYbOGAvVaVTBliYdGITCKMvtbf96esl67HRP3RdSdXZtiM7oiZModTKD80ygNvA/C7loouRHHu0AvJ9LdRS6GUoEXxoJUELsuKCSpmOVNWc52e7gwsGieW/HOH/xxGb9r5oXVAXZDPeRKg5oGpIa84ZkX7NxuST8tjUqre/KTXNQru4Pd/PHZsoHrpwbULf/b4NTMa6lZnCRiFBaLwp1P8o3kf2LIZjo+9+wksNQHBLl4M58PpFBJ3tHhapvB9EgjQBlCnQto6fqACLrAXTq8wc1FXOzDDH1yhYcxJO9JrtikPUepWVyQFAKwO57j0aKey/YCF2BY6j/FZT6RAn+NuciE6HaL1LMQI4iXwJAAwW6iTM+ztbZ+5eCELEux8igNgSbfDDTSyP85orOlYpFzfdYRe9kwLOy8BF6c/BgGkSU+or6Xl1HBt2uW05hiHH+dBfJ1NxnuKgrhKo72q+NxEAEY1fcjfkWJzDlWirpjLwY9f9nHsHTYuPxSijB92FirvqBJbu5pifhjF4/2X0llLFRGnVIqUzOvIYQkIglHxvsRFXUNGB/P2a8pgxhoj4raNQHwY4fWwNU27OJZqIQaTh7GaoG2DZqjgKLiHcfw1sthjyEysLkpwpXFJ/KCUbSPEooBMw4eHD3AMPPWlP/5YThwXEi7/InNY+7s2cA/FkBHpOcfAO4RFB+T+FPQFH4QB1mlWGkd+d+v3KhNsCer0YTVUupGHsbsT5XUdutTa+g6PSHQuQr8u0xo+Pn3WQui2zVMoFaIjp0gT3y9Y+ztzB1BaqNhC+5fY5RAcPfqZE0ts7fDreyStpt+YjWN6jslXUCHT9JalqpY6on7iHV AulkYUqW ehz3gaxMPlS2dN+T2xra/VciVetNFoCb4z2uQIMOaVy7hYY46/F33MfSs4l6UuPjJ8YPSU+fxxsOpC9SoL02FiLoWZLFG1QBn0xnC0Mc1wVyjLiW80ntA+91FesT7oPKP9x0Sz7xna5H15jnqRJHgaJfjnCKPYypKt8gyYuMvOlb9tlAHCShTAkexwlh1OyZrj/89IpCPYfNpfnQ2kl/dTKA/9qxAgls83nc5/h88Jlg0ItT8E/KAdrBAH2l3r4quz3hPe4aQNznJQB2H+plQWCF06z/wMeovGXb4/GRTV7m6or+HRYCkip47/9HIhIXJGUOOSfpO18Pi1DF+nvrYePUH4KxrjvnVjxayv3+W25u3ZVbxG3n5QnYYHSWGruMkOx1Jph+M82gCqC99o9pE6OQRMP8TTvHju89kO072OdvinQEFufzV+eAOqvKutE+YpW/qwQLuRLyuXmsYsTebVr4UpB+m3+bGH0u9qgwayL6gM8ugZj7rbpMdVfZa53+NTNoXQa7iWDbFLp7NEb9IKiWmaI85jnQD2KD9s6hzPEsDdzM= 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: Hi Andrew, You picked up all the other patches in this series except this one. Thank you so much. I'm unable to find any comment on why this wasn't picked or maybe you missed it? Please let me know what you think. Regards, Usama On 8/21/23 7:15 PM, Muhammad Usama Anjum wrote: > Adding fast code paths to handle specifically only get and/or clear > operation of PAGE_IS_WRITTEN, increases its performance by 0-35%. > The results of some test cases are given below: > > Test-case-1 > t1 = (Get + WP) time > t2 = WP time > t1 t2 > Without this patch: 140-170mcs 90-115mcs > With this patch: 110mcs 80mcs > Worst case diff: 35% faster 30% faster > > Test-case-2 > t3 = atomic Get and WP > t3 > Without this patch: 120-140mcs > With this patch: 100-110mcs > Worst case diff: 21% faster > > Signed-off-by: Muhammad Usama Anjum > --- > The test to measure the performance can be found: https://is.gd/FtSKcD > 8 8192 3 1 0 and 8 8192 3 1 1 arguments have been used to produce the > above mentioned results. > > Changes in v29: > - Minor updates in flush logic following the original patch > --- > fs/proc/task_mmu.c | 36 ++++++++++++++++++++++++++++++++++++ > 1 file changed, 36 insertions(+) > > diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c > index 6e6261e8b91b1..79cf023148b28 100644 > --- a/fs/proc/task_mmu.c > +++ b/fs/proc/task_mmu.c > @@ -2138,6 +2138,41 @@ static int pagemap_scan_pmd_entry(pmd_t *pmd, unsigned long start, > return 0; > } > > + if (!p->vec_out) { > + /* Fast path for performing exclusive WP */ > + for (addr = start; addr != end; pte++, addr += PAGE_SIZE) { > + if (pte_uffd_wp(ptep_get(pte))) > + continue; > + make_uffd_wp_pte(vma, addr, pte); > + if (!flush_end) > + start = addr; > + flush_end = addr + PAGE_SIZE; > + } > + goto flush_and_return; > + } > + > + if (!p->arg.category_anyof_mask && !p->arg.category_inverted && > + p->arg.category_mask == PAGE_IS_WRITTEN && > + p->arg.return_mask == PAGE_IS_WRITTEN) { > + for (addr = start; addr < end; pte++, addr += PAGE_SIZE) { > + unsigned long next = addr + PAGE_SIZE; > + > + if (pte_uffd_wp(ptep_get(pte))) > + continue; > + ret = pagemap_scan_output(p->cur_vma_category | PAGE_IS_WRITTEN, > + p, addr, &next); > + if (next == addr) > + break; > + if (~p->arg.flags & PM_SCAN_WP_MATCHING) > + continue; > + make_uffd_wp_pte(vma, addr, pte); > + if (!flush_end) > + start = addr; > + flush_end = next; > + } > + goto flush_and_return; > + } > + > for (addr = start; addr != end; pte++, addr += PAGE_SIZE) { > unsigned long categories = p->cur_vma_category | > pagemap_page_category(p, vma, addr, ptep_get(pte)); > @@ -2161,6 +2196,7 @@ static int pagemap_scan_pmd_entry(pmd_t *pmd, unsigned long start, > flush_end = next; > } > > +flush_and_return: > if (flush_end) > flush_tlb_range(vma, start, addr); > -- BR, Muhammad Usama Anjum