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 E81DAC77B7C for ; Wed, 25 Jun 2025 19:23:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 75DD76B00CF; Wed, 25 Jun 2025 15:23:20 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 735A96B00D0; Wed, 25 Jun 2025 15:23:20 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 672786B00D2; Wed, 25 Jun 2025 15:23:20 -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 583DD6B00CF for ; Wed, 25 Jun 2025 15:23:20 -0400 (EDT) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 04B9C121E95 for ; Wed, 25 Jun 2025 19:23:19 +0000 (UTC) X-FDA: 83594896560.15.14DDDD3 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by imf06.hostedemail.com (Postfix) with ESMTP id 233AB18000C for ; Wed, 25 Jun 2025 19:23:17 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=mmQRbt3m; spf=pass (imf06.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.214.170 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750879398; a=rsa-sha256; cv=none; b=y1vuRwg7hlc/4cz3Lz298FkOgxSHdYjkmSG5TOlCsmjZtUzS+ZcBZo/VH5zRD7Qrq+ta20 FhXAm8s3MwOiQxuPzZmkQw39v3rO07lkNwqp5lzeQa4ZAHK1WMn/T5w+Bf9FlZaT9SZf6T 7Ps9Kfqd3bCIA2f2/VPqFjdIfIAkgGc= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=mmQRbt3m; spf=pass (imf06.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.214.170 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750879398; 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=WzO6Y3n7DOv4AVljmkC53x26oyxLjU3r+14Redn4wGY=; b=bVuGozotwoqG8G1S3tpywp4SmDCNaqmS6fOQQ3TT3NWrbf5aGsBC+Al84Cz8cxRNOdIuy3 XAbZcpxICNaQvywymgou+6ynMCJck8I6xO8AH6Fkpt3PeXCDgDC4C0APkA0hv1v6CDzDyn L6HFWpzkSrxYjLF1GyuP3s8Gxzb/ZMY= Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-23633a6ac50so3637135ad.2 for ; Wed, 25 Jun 2025 12:23:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750879397; x=1751484197; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=WzO6Y3n7DOv4AVljmkC53x26oyxLjU3r+14Redn4wGY=; b=mmQRbt3mTig5WzuEIU9pIq1ean21/h0nCPyuhc4VMJYxIrVER4in/NYV+UzrPGgrgK pUfvf17+Jty4GniTUZMtxpyTceoEZnBBTK3s6NDSd3HC/KpsytbXujUPySWoFpMof4Lw 3ShzmbM2WTd4sspAYs2Ror1//uGyaTlX8QLeNPevPeMe8fONI+RAM7fiE7SWlRkY4Rk2 Zt6Y7ixXwKFktblOAJ3FNS6nRQ6xVdbSD4fZIV3KK//VGZchZZyWmrPnpnxrTiOiNLw2 p+SWZWNyo6zfgJmfQPcbKFnYPBVBredKVLJi43mwgQojn3JdYqeGgDO42385uo5WMZ2F Jh3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750879397; x=1751484197; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=WzO6Y3n7DOv4AVljmkC53x26oyxLjU3r+14Redn4wGY=; b=kH1sZMhUUHyQMfXEdr5GgkzwC01K+o04o2jg4+6rss15TAO53cA/iRZ7ts+z9OHlBw 9of5uonP2Dl6eiRmkErdPXdPr44STDSkbp17JIhgUdvv6PJRrScNKkXqtndncLMMwh8u Afr7+TVHI7HZldGdc5O4wAkqt2C7LkVZqQYroQAMvyhUvPUUMdddjN8NaNaku28w1WiS rxoIandmNR5MhVWPdhxA4yXqfE+owXzoIiDN3byY1F69ndwZKOfLW2sTb8aaH7bJtBwG NbPIJiiPXFn+Wp+9HQQRxcXYaEBdW4mSHaNp342lPd33dINdCMUiHSOkN3Ni5ONlKU35 0ZDg== X-Gm-Message-State: AOJu0Yx/+7j0LGv4KBgE6WRcYnQCX/70UuL5Ndvaid335ZAM0OP1gHzt nMfcBoZOgJRZjQeWKGakhyzEdZoIBStSWztE7oOEGDSMd6cZ2snErQzmP4bw27O9 X-Gm-Gg: ASbGnctRISrKtHrnsR0pz6RTeI6ZVk94WC/r2MGDMeTO/wFXCC3N95kdbawQ9h+v+51 Gt/PjFBoFLBcoR9JjgXIlC3qmdAzg6fSRPolbOVkmn/AHXC3R/knsUyfsdfGMK7Iv3Hbr3vwFaF YIMSKXqHhQz1VqTVJZnKZdFthLv+ExYdPhlPGncaWRRh1x6O1q0M4xUecSqzRUJ2kdG6+fRjRPk sUQ08CaxMeeVFS768h8rWBVDTkXx+nhKL2ymB8smBdkBeLg4uX+DrPNj3Soh+/JaPoqzirCPUbY I77DZLk213R9iMRfQCLXGGm1fiKwDGF1kKRQG90HMhpP0pzwiUFM8J2BSFIbK1dAE06o6VGd2op oXqjbY8oJ/KCBsDGArA== X-Google-Smtp-Source: AGHT+IElgJQKMbqFyl3J4hHwLcejBpcY02laJCtiJg94KBmUyqpQe0uSq+liyONwyokdu52sBOJsLg== X-Received: by 2002:a17:902:c94f:b0:235:c9ef:c9e1 with SMTP id d9443c01a7336-23823f6d39bmr75541645ad.5.1750879396951; Wed, 25 Jun 2025 12:23:16 -0700 (PDT) Received: from fedora (c-67-164-59-41.hsd1.ca.comcast.net. [67.164.59.41]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-237d860fb63sm139983845ad.130.2025.06.25.12.23.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Jun 2025 12:23:16 -0700 (PDT) Date: Wed, 25 Jun 2025 12:23:13 -0700 From: "Vishal Moola (Oracle)" To: Matthew Wilcox Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, David Hildenbrand , Jordan Rome , Andrew Morton Subject: Re: [RFC PATCH 1/3] mm/memory.c: convert __copy_remote_vm_str() to folios Message-ID: References: <20250625174841.1094510-1-vishal.moola@gmail.com> <20250625174841.1094510-2-vishal.moola@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Stat-Signature: pii95tdhpgu93d978t8n5cnc648biab1 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 233AB18000C X-Rspam-User: X-HE-Tag: 1750879397-702983 X-HE-Meta: U2FsdGVkX19OaqHwqOBz+6UoR71jUA68dr+/kAdPaRlCJN/HTD2cen1gNRzDSVgvxvEoqSSM4JVkfUMfg9BrNdPnZpLhXmUoMOuBEWQatdVNa1HGSEUumuyHuzaG5q6BbK9DdoKu9t/ZXJ/kgqxWnxvdd7BQpEg5CQ2fwAUraEnu7pjbgje8Ei/sU/SjTEZTJuj6REhwiJDzuze7O1CJTM68/WCOOal0xER8hY1eU+WhUXYCGA3ptsm3NtpZVP1Qk1MW1zBmx+gbE9Y3Z1lkbpgQGqaLJMra6qiWhtS2Pac2+nomJ9rvP84NDVaPst2ITUX/waor3WC3xoq63SjiRl1Vqt7XbNE/uEmztAaDa2i1IYIKIipPRmMN9Ow8ImC8tEvsBR40+GVvuY9iVuB2pCjaw7BNGAIIIQVfeEeNpyUxC4KIBKHOq9MjBpFQkMYfQM1JZ6i5KNxQ5fnn5NrcjQqetatZg7K872BMUKnP6Br1+uop2EPYPL6/DpsTpXafPmXMajKX+5jvevT+lEcXOm1VeMpQPB9HkJylPxveq3XLLf1UJFqsExFE9tsK4Ly5Yu+yfGwLhcdd9IVFtcuIBm7rwVh+MXBpwHAMDMpT9MbC6fTw0tuOcz96BibsPwOIYVhtfku36ih7Vy0+/m/CD3IMKzDbSAFQGvWBL1nqUKZ96tBFlpaYhvU429PJUbHg05t9ajnhy8J1Px0OXwAMLpFylvv3aLbm6qFUtFJ3zRforWVldrnFBEq7flQE15j1GywK/GImYi3aWctCj3exU5krA/bRG0XABAE/4Q2BSNOFJxsTwpqu7DYjfKH89oi02iVVbd2qf+yn0RGB0eIHq1nsiBbtgRkKbgCVABdDYf7fj1aHNAJPVRjY+Q6pX1SUabBdF1hi9wXesypbqISzqCZg0Qc36lKocRG23/BEewnz6gVqN2vkST/LkCNKAKKWTadO5VkbNUlEUkTyZhV pZ9/keOS nFPNqsgDQMS2gaTNsq8z7GC7bYcOZo+52zaNX5qf1rpRShbkuuGaBwCHcWGDlrSHCUJ7KRiS0q1eFlVGapOh2P4FhlPmO1jnfBDSfaiTDRY9FdR1eRF3uy5fgzjrKyGttrPpxDXkjYfGyilBOoHl6k83pxh1FvEcU6D/OziOj8ESobiKzAdcTiGQRLIyQlkOC08cic0+gQ9bNofctTLVkpYIp6T6JNhxLWw8mKUQ5q87m+KwuQwtC7aeEWy/MhwWVIW+xCZDncasbjbyZXPSWCRIUCzRLWJYDsxt0MQONjjXLtEN4f8udGK/FjpJVPk+RB/0mfYbe4725yBAYnbtuDj7toplSXOXTj73wskN82GAphlPm9cJ6uqJiu/ipryuGmq0ynvJLkIswWtHqvk+7uIUkiy6F0azDhUtXlU1rwMBGadHejgI+dAW7Yorb+7n9G7kER4yMZCrBoO1rvrRhy78vrE3Uy3HeAB5VesCnCWzdxV0/4AQW9RFjYUZnJo/eOMxfaDDSSWa6Z401Rq2JMpPW/s2S/a/wsl6m 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: List-Subscribe: List-Unsubscribe: On Wed, Jun 25, 2025 at 07:00:22PM +0100, Matthew Wilcox wrote: > On Wed, Jun 25, 2025 at 10:48:39AM -0700, Vishal Moola (Oracle) wrote: > > +++ b/mm/memory.c > > @@ -6820,9 +6820,10 @@ static int __copy_remote_vm_str(struct mm_struct *mm, unsigned long addr, > > } > > > > while (len) { > > - int bytes, offset, retval; > > + int bytes, folio_offset, page_offset retval; > > offset_in_folio() returns a size_t so that we can support folios larger > than 2GB (which is a real possibility here; hugetlbfs might end up with > a 16GB folio on some architectures). Got it, I'll change that. > > @@ -6837,17 +6838,20 @@ static int __copy_remote_vm_str(struct mm_struct *mm, unsigned long addr, > > goto out; > > } > > > > + folio = page_folio(page); > > bytes = len; > > - offset = addr & (PAGE_SIZE - 1); > > - if (bytes > PAGE_SIZE - offset) > > - bytes = PAGE_SIZE - offset; > > + folio_offset = offset_in_folio(folio, addr); > > Umm. Not sure this is safe. A folio might be mapped misaligned, so > 'addr' might not give you the right offset within the folio. I think > you might need to use addr - (vma->vm_pgoff << PAGE_SHIFT). But I'd > defer to others here ... particularly when it comes to anonymous folios. Ah ok, I didn't realize folios could be misaligned. I'll play around with your proposed calculation.