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 2EF5BC021B8 for ; Wed, 26 Feb 2025 19:54:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C3938280007; Wed, 26 Feb 2025 14:54:44 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BE923280003; Wed, 26 Feb 2025 14:54:44 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AB25E280007; Wed, 26 Feb 2025 14:54:44 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 8D9EA280003 for ; Wed, 26 Feb 2025 14:54:44 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 0821CC0740 for ; Wed, 26 Feb 2025 19:54:44 +0000 (UTC) X-FDA: 83163148488.19.BF1101E Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf15.hostedemail.com (Postfix) with ESMTP id 9D10AA000E for ; Wed, 26 Feb 2025 19:54:41 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=BYcheDTj; spf=pass (imf15.hostedemail.com: domain of alex.williamson@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=alex.williamson@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740599681; a=rsa-sha256; cv=none; b=defqv82qGtFAD55gxL24lVdNiYoVxe/QGJVj6mDs4JPYyj6XUBZbbt4jmqovcsLrlzoWlr CFn4laCT/xvOEBLCo72NofoTCbRdC1mdYe2DLTnC63tUu35WYKgpKqPUPqIisc6BcLgFVs +4qksgvMTUTMj1xvVS4Ibzy6AQj7uWk= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=BYcheDTj; spf=pass (imf15.hostedemail.com: domain of alex.williamson@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=alex.williamson@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740599681; 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=REreCuTx0gkwci3At+fSClZQOC45yVa1FO0Hyxdtpqc=; b=iM05lFj9k9BiuH9DcRnojSwbu5mgs0BUH1EVnvonsP+x9rlzZQWNUBQrWBc1qnowxt+CLv QrEpk7Gr3u8u4NOZPNFCffkIXfTjVMPlGMI+m214f+ujlQpTEQ4cgoDnmX3FsfAUalwBNV yALEPMcJdQKcB9CioEKGpZd6KvGEsKo= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1740599681; h=from:from: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=REreCuTx0gkwci3At+fSClZQOC45yVa1FO0Hyxdtpqc=; b=BYcheDTjU3wRdwrX/Nt6rAQHIMAdFtk388nKQO+XlNbXgBGxigKoZSLHa69GGIfOdfbixH DQlrpqBUu8sWPWrWz2FK51RUvTr/ltON8pEsLu+seWTrsbGF8z8ucoVGvxZnB19e5S7kjo uXYWBMsyiyrT1lI4kYy6Z3jjEagNm4c= Received: from mail-io1-f71.google.com (mail-io1-f71.google.com [209.85.166.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-642-Pt_fNw3ROH2iaUivJXlunA-1; Wed, 26 Feb 2025 14:54:39 -0500 X-MC-Unique: Pt_fNw3ROH2iaUivJXlunA-1 X-Mimecast-MFC-AGG-ID: Pt_fNw3ROH2iaUivJXlunA_1740599679 Received: by mail-io1-f71.google.com with SMTP id ca18e2360f4ac-855a922b214so3017739f.0 for ; Wed, 26 Feb 2025 11:54:39 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740599679; x=1741204479; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=REreCuTx0gkwci3At+fSClZQOC45yVa1FO0Hyxdtpqc=; b=l/T+cnmBuyZzFYTWyaaxSUQ4pd8ixouqbFSzKT/1/DxqKo/GvevwaTmQJ1wfkKvvV4 nro9vigYfryiLZUYGMLhxtdu1/75AMH0jnc/T57sImswwe6IzpOHgIb9fpdQlURS6BfH IxUd/6lL2XTHb9qa+47j+lm9m748PADfaTX4giBWTj19uVxOWXr6Vjs4GpnFgV76Kscv HK+x5Jy5jhGH9MEzullm89BSfb4Ysm+PnJa9kEnJP1rNiGJBHlOdTl9VumVivG4UhmPD +Egrj/zZxUjGIEkSGMjVflVeNCtoYfsdjVwQZYSHWbPc7TDmS0Csb/kVOgpEX69k/k8n fLfA== X-Forwarded-Encrypted: i=1; AJvYcCWaoBFd18cZwdkakdLoiOQF2P9JEWpi+t+tetRYqXosltLv0hjU+lIVgUexL2iq2QNDkXzTeW0oCA==@kvack.org X-Gm-Message-State: AOJu0YxidFZRCTHD+EcOiUYO55K+1OC+Gg3CyomWp1c/VcgSbjRBn+KY rEMOVLWBMjjRmK8337fxCR2mDv43GQfcBHbNrIZf80xegtMTfGroThBW9/FB3Otsg5b89dP4xig kfW6hi/PiPsWdkZ1wRwiYm7aGPckInFPzuv4evUOoqGVBsFnz X-Gm-Gg: ASbGncuthiXztiB/SA2RqMVSEun+gFXkr7N1xDhXYZaPpIvM6Kli7wPiAxlx0uACT3v aBeyywWgpK4phq6kFOZVSPbC4QvdJ9q34gMs5+W7d22QhwQqS9nyKu1LDJG6zwSAg6Ldn4Vcog5 vc3KWlMnrOGgUmLsvrPfqQ4/0qZLcyuPwAPJgAUmLz/6ng0T+pkXKGCV4ZHO2VbgS/ZHTMOpqSR iMK6LnC1l4EUBTJM0MmadvB+ko6/G3/JAfTFIAGR9jYQU94Zpao/sq//vhkr/S3beiOsv0wQe2L sxoR97pFXgG/eyR1EtQ= X-Received: by 2002:a05:6e02:138b:b0:3d2:b808:6af7 with SMTP id e9e14a558f8ab-3d2caf029dcmr52169195ab.3.1740599679161; Wed, 26 Feb 2025 11:54:39 -0800 (PST) X-Google-Smtp-Source: AGHT+IGclZdN5ci9WTASTIbwQPB6JRSCol267p3y7JPBzh5FgUw4I41vL0bfqhosjvVDmk9CT8cKjA== X-Received: by 2002:a05:6e02:138b:b0:3d2:b808:6af7 with SMTP id e9e14a558f8ab-3d2caf029dcmr52169055ab.3.1740599678746; Wed, 26 Feb 2025 11:54:38 -0800 (PST) Received: from redhat.com ([38.15.36.11]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-4f061c513fbsm949173.51.2025.02.26.11.54.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 26 Feb 2025 11:54:36 -0800 (PST) Date: Wed, 26 Feb 2025 12:54:35 -0700 From: Alex Williamson To: David Hildenbrand Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, peterx@redhat.com, mitchell.augustin@canonical.com, clg@redhat.com, jgg@nvidia.com, akpm@linux-foundation.org, linux-mm@kvack.org Subject: Re: [PATCH v2 5/6] mm: Provide address mask in struct follow_pfnmap_args Message-ID: <20250226125435.72bbb00a.alex.williamson@redhat.com> In-Reply-To: <3d1315ab-ba94-46c2-8dbf-ef26454f7007@redhat.com> References: <20250218222209.1382449-1-alex.williamson@redhat.com> <20250218222209.1382449-6-alex.williamson@redhat.com> <3d1315ab-ba94-46c2-8dbf-ef26454f7007@redhat.com> X-Mailer: Claws Mail 4.3.0 (GTK 3.24.43; x86_64-redhat-linux-gnu) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: 34GsnpwH3TPd6v91iqdM9MxIr0b0_ZUKVDhtcDvfJS8_1740599679 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 9D10AA000E X-Stat-Signature: xws5fcezj6scjrhb7uttecyooaey7s67 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1740599681-28744 X-HE-Meta: U2FsdGVkX18TtCnramYFUYl3BzJDaLCf9HgYA2z44W0InBtkHrz6pfLSGfrzvu74OlxeTr30KC0idho+zVZzIa3DZ9v5/3y6iR3Rl2OollEx42kVY/RUmZjiKScJ41MY5b+j0qs7elCjdfpwYSYsm1aI3EbBdLjcB5OZEPfVDjh1654r4GrCtvE3Pgp1zibtUajKYk0Y7sa07YMqr9dkTPeaxI1O5UyS1iApSWEXy5A/dxFqvFdWHJRkyf569xL7U3YOc/4c2i4GQEZMvjPQ9sfpzHnuK//kAslkZZqFXWHZeFXHMozDych3HmuaCEFdXsORaLd0L816nz9hIyXJN2NzF0CaqiObuaWM15sJKKJr/flFiOsOJRfA33oNnAqm7GDVrGjsDue8zggHhIDO7Bqqy1HtbfcsTPSFKslVyvMS7IfXJmcEAQEwKPxMaHLvvN6/aUurF3+BMyocNwaBMCKn01btImvxqMMcevKjOEqtQuC2NwOUU7pqP7Rirh/Bwgb3MjXoez2ejjWbEP1ngCjI/VIGv6hnVafHYeynfAufiL6UNFLe7QdLiOxS87ydyrHUiMJnVHfzoyhrRzAMi7hbVtko4kXcgX6evvaFV4KUQE82UYaVhvNZUZkMHIRTLtfWxkP0LjBF4+ivYSCDggNSQBsQg4y1hNYAR3iCbpRCVrDynDKp0NugKI7ryUxyO/vFpp+0knsnwn+IgL+ii+nOGuIrxX/KLXK8NRfeYawkffyrhhee3xj7Y69QDrAb6Hh7zrUKswrJWuPoJMU2BzdyROUF1IuKqxp/qE7U15jtMpBxouUaSvvceTBHT+KsVvi2Glu1V0J7KW5KiH+JPiiYnNG8mXCsAJCK18wVPeMi79TaKH/IZiemBwSWtZcoYgMbr10SWNI0JeqJTxA+myVi9PcK4o5wrJOx0fyt2SO+7P3FwiYlDJgKp0kxF2ZzLkDNWoFR0lGSxEic8hc sp8uXFZk ipbWzxR/93aDm2nV9D4POh9niN9tYl1EVQ6z7qdUgUOQ/alTHKOSdHJ8MkJeanYns7Y/kGhPnRPk1lwTSIPYB5OmZUNzna/+AOJWrs5enc/KXGqJBdoS+bA+qbCDLO4VZ7JQVz0ShCTOiQI42KsJsJkeI2lH6gELu0n6N08HR9q+qmoq/9PJWg6SxeCXYZbtBTXzsi//D38fgETi7FWpC3nJ/weWLqzj87Js4VEKByKWgo8BqHIL9cVoo3PEJzgx0uVowMZ6t1OIiNt1/jJtjbK6WQ6qFWwHT7Q9flqKocQd/wdFMPP5LG223MnEV3c5afLTwdZGmryKQf0qTy74OugGwI4O1nsciXubbqVrP/y/F41o6NZsN/UDlsjal5Rqv0kPP3yY4uGXQnED+KD/WpyG/rGpzn1MwQvok/QnEDmOmYSm0LaGQ0B+UdnxYoB+40IlPFA639vfjm5N6c4KnjAoVeAnYqdoCwx2ryqmlHlzKCxmKOv010PjBVHzDOdNMjPnbJhAe8r2m+ts/RyYwny1bJwIlCwzdIbb9xYzxua97swqiL7yX1CvfLrZM8DV3GXXSWlK0yuFb6stF6N5gmaBW5x23k3FD6fJhcSiyNoijzSPQVG7RBew5XjtJnt2aGryL X-Bogosity: Ham, tests=bogofilter, spamicity=0.006402, 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 Wed, 19 Feb 2025 09:31:48 +0100 David Hildenbrand wrote: > On 18.02.25 23:22, Alex Williamson wrote: > > follow_pfnmap_start() walks the page table for a given address and > > fills out the struct follow_pfnmap_args in pfnmap_args_setup(). > > The address mask of the page table level is already provided to this > > latter function for calculating the pfn. This address mask can also > > be useful for the caller to determine the extent of the contiguous > > mapping. > > > > For example, vfio-pci now supports huge_fault for pfnmaps and is able > > to insert pud and pmd mappings. When we DMA map these pfnmaps, ex. > > PCI MMIO BARs, we iterate follow_pfnmap_start() to get each pfn to test > > for a contiguous pfn range. Providing the mapping address mask allows > > us to skip the extent of the mapping level. Assuming a 1GB pud level > > and 4KB page size, iterations are reduced by a factor of 256K. In wall > > clock time, mapping a 32GB PCI BAR is reduced from ~1s to <1ms. > > > > Cc: Andrew Morton > > Cc: David Hildenbrand > > Cc: linux-mm@kvack.org > > Reviewed-by: Peter Xu > > Reviewed-by: "Mitchell Augustin" > > Tested-by: "Mitchell Augustin" > > Reviewed-by: Jason Gunthorpe > > Signed-off-by: Alex Williamson > > --- > > Acked-by: David Hildenbrand Thanks, David! Is there any objection from mm folks to bring this in through the vfio tree? Patch: https://lore.kernel.org/all/20250218222209.1382449-6-alex.williamson@redhat.com/ Series: https://lore.kernel.org/all/20250218222209.1382449-1-alex.williamson@redhat.com/ Thanks, Alex