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 549BCC83F14 for ; Wed, 9 Jul 2025 19:42:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AF71C6B015A; Wed, 9 Jul 2025 15:42:04 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AA8CE6B015C; Wed, 9 Jul 2025 15:42:04 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 948E26B015D; Wed, 9 Jul 2025 15:42:04 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 7B95B6B015A for ; Wed, 9 Jul 2025 15:42:04 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 3F4C1129411 for ; Wed, 9 Jul 2025 19:42:04 +0000 (UTC) X-FDA: 83645746968.13.76F6524 Received: from mail-pf1-f173.google.com (mail-pf1-f173.google.com [209.85.210.173]) by imf10.hostedemail.com (Postfix) with ESMTP id 65F93C0006 for ; Wed, 9 Jul 2025 19:42:02 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=YmDGuiOQ; spf=pass (imf10.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.210.173 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=1752090122; a=rsa-sha256; cv=none; b=AZtYFlgY7g9jNj2fZUctLOpnUPbS4RNceVEyhROAhrzGAgKh1nl4Kh/kzdw+FBvZ7eLJrM FlyV+hQy+LaiG6mJCvczuBUjoQNBX57t9WyIFTrWY5ITdOfIih/swS0iD/tE4R6zm5sUzH qzBkpecgub7MSmdVsYAkDg8aQSk6+e4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752090122; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=oKvpWjKgmDJLBGUkp9Wbs95QT2/tWm3HhCqZBNEMNsg=; b=RES2+jRmqYiywrrAz7bN55r9TQDHlyYiKtN2emEopp410NdK/i8vegq4tOcIAdwsOMVC+h FYHxti1jTihoiy0838sAJog3rf3e6vR5WH1kaT4xMrJZGIwiFQZ53s168hXyzWEbQNy1/A f3QER7hcvPmExzoRgzdeTxjxcNz0Erc= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=YmDGuiOQ; spf=pass (imf10.hostedemail.com: domain of vishal.moola@gmail.com designates 209.85.210.173 as permitted sender) smtp.mailfrom=vishal.moola@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-pf1-f173.google.com with SMTP id d2e1a72fcca58-74b54af901bso172476b3a.2 for ; Wed, 09 Jul 2025 12:42:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1752090121; x=1752694921; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=oKvpWjKgmDJLBGUkp9Wbs95QT2/tWm3HhCqZBNEMNsg=; b=YmDGuiOQ6gV7TdHjF+P1MF/3PPsunTPkCQdSEt702t7pL74jc+Dx6m2jOAgXXTxi68 Ai3ND67D2tmV0XI17h9NoPsSTBgiB9T0ZB0sCzUT6jZJ7ObZagSlfNCyXyIl1Tq5qppU gADSpfASOUQaaDaCjh9iFm8Ai/SqNlgNdXqDkHOn9vczrlQaHuVtW4gnzCVgi0QBH5fb QyneTBBPD3DeJO7BbdVVXBQRtwJxfkNO4Tat5ztgRBe2ucBr0/M1EDEC218HPs1MAnzo shbFvDIm4SV8ZArQiSaT6y+rUbqATGj8L/36RSd84QnU5l87QdmVzpBe2d+setml5CEf GfPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752090121; x=1752694921; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=oKvpWjKgmDJLBGUkp9Wbs95QT2/tWm3HhCqZBNEMNsg=; b=iofAG2TZgcO7V5FVx4X5q3V8cZ+NJqFZqgyMpVvR8DL+rxNAjdj4i1rNhHDDCpkzEi v+ryNVczt5YH+8uEVDfdksVhH27YnNKPN1HukyMbofDSEheGuJvOqAdr16pGs5UWd4pQ 4ZX/l2+aB3bXgXrPMdAKfonBWpqvdtNivrpc7OfwuIJ5T8ddbHh8ViTfglgjx2+5H1MY 9j9s05gL1zSKxE6qASR1dChTfyo401kyKXQLWlsFZ/DEjn/Zi+U9HgFAI20Rj9XQZXt0 IeF+e/B4RrWAd73Q4PcDLrrpYoydjvJxWt1ajdRxTyYN54CMrxDrl1izGI3i20JHgkq1 DKQg== X-Gm-Message-State: AOJu0Yx58mnfLYoUomUDVUVBHvaA+qlKSsAd72wxDwSGyOml5Zo6nExR a9Aq8f/D1CaCu9S4xV/XBK8s1SewnRnkg/t3t2fgTBfxJnrTvdf/mWTjBmhatw== X-Gm-Gg: ASbGncu9inbamb3CKcbeSrqdj+YMOK9/KBvCRMEyb38tjeJAaa42ki2nwVy/kRMSUk9 0VxwytmdUwIVZM/PCu84iwinblXhypixTlyeJ1wJn2DpsueS8IMKHGApx++eH0WV42wM1mW8X1I K614dsQ4etjM0bU36DK96IuOTxKF57Q5yRKxm3Ta/EbJRWIkOhXTe16943mnF+hx+kdvXjwXFbm Xy9jD3kD+1br/LW6waDExS5q7PhzoOiesDy8v4UhWNFqfoHzbQynFD/BDxQOM1D/BMQ8glUk1N4 z+FAZ/pXalFMCAVOJUapMRBPlj4/1uMzPVcURZs4xUztLLrfLf6Wcydp7sLidTGwQhns8Q/DzD3 Rlj1Jv2aDxIeUppRXpw== X-Google-Smtp-Source: AGHT+IGZVxyQx4fXlif2fiJObqAzi1x6ui3X+Z45EQzna/PQfppivzMYYUiBInRoJAqy74N5Yzfnow== X-Received: by 2002:a05:6a00:ad3:b0:742:a77b:8c3 with SMTP id d2e1a72fcca58-74ea6411205mr5337243b3a.4.1752090120790; Wed, 09 Jul 2025 12:42:00 -0700 (PDT) Received: from fedora (c-67-164-59-41.hsd1.ca.comcast.net. [67.164.59.41]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-b38ee4794f4sm15169458a12.25.2025.07.09.12.41.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Jul 2025 12:42:00 -0700 (PDT) From: "Vishal Moola (Oracle)" To: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org, "Matthew Wilcox (Oracle)" , David Hildenbrand , Jordan Rome , Andrew Morton , "Vishal Moola (Oracle)" Subject: [PATCH 2/3] mm/memory.c: Use folios in __access_remote_vm() Date: Wed, 9 Jul 2025 12:40:17 -0700 Message-ID: <20250709194017.927978-5-vishal.moola@gmail.com> X-Mailer: git-send-email 2.50.0 In-Reply-To: <20250709194017.927978-3-vishal.moola@gmail.com> References: <20250709194017.927978-3-vishal.moola@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 65F93C0006 X-Stat-Signature: 553og49sn8ggpxsqt31uw8q7aninz1r7 X-HE-Tag: 1752090122-603213 X-HE-Meta: U2FsdGVkX199t7+/JdQ/ANbNATrdAEWN7nP06lotAa0CRexyJT2/xkTttn/swX9639dgXzCfmiBfHHzFwsCDZ48sXgp4S/Za8g634FRyRG/gKz+mMoZLC9bnXD7cCE75RosaOnyINwX8hugD6B0MqDUvh4ZpcQp7fogJ/1NdoMEs3yYa8d3GZbnMCRg4EkJX58hm1YF1jaifgJ/BZ4OqVuZPlfuWvEVWX6qZnrllqTa+u3NOxH4JylZrE5V1b7qDVpX9v27yrU3rHTvk2pXxlCzYP0yfcmxirYxdqIAyTiJXFNvzHBQ5rcdlDoezO8WfVMKizwBEt+Rh8buIcd2eWvBaceqjH/w73az4PvEvPOH316Y1wJSz/+MKgbuFxBaZm5KcVk0lZog3CG9jK58a731H2/obeRKoaHC+IVRGDRnGqxx89REdJ7ykN4El8oGyy927w0Rkb6KnJIQxXF9lAnZoz1xecqYvypQVU4ZEkx/zjOGqvk6v31c6Doe/bd9SE6w4kcuDtgbHMIfMDBTHjiluF5LVHmxpq/HQRI3PakPjARcAjrbufj1hzv+1yhwHWBwL13NCyAT/2qLRwuMjFDZsiX+jWwWb/SYrBbGGRevQYMB7kG44Dba7Pfc6FWa6/fbpwH1Gbe1+VVhD2JJxQnIm2d1gxcD8vUT0oIYgFwlsxceeNOsyPnP2WWvlraxrno9kfYB+uyO/usKvR45anuJGg/PqspugTo9HIQCWR6OuSx5taADKIgYN83gGsypruiI3STviA4Jw8vXs6mzANhKxpQgRswuBY9imP7RUy/zGA6YUqB6PrzRfpdt/6td0a53IqU8avxonxB0iZY8TSeXOsUE2JPoG9g3yzWndCxybJR62Q2hmpKs01PqQI+dEipA8T/0ygn4bYmXO83gcihmbYfh/So14J3PcGkuMWV0xVpFuTjf7mh2x5T5tEU0DcLoH2n12ME5y0JBo8hi CB85+QcQ 2T7ROve4swPa/UdgNPGrL3iq0NbEjHW5MGLZvzNN09/XdlXNsWYkA2783rPtZYsYjOyggzVyGmBtCSX0CFs2tbwM/oi/ckY8gYysPPlgeeiexRNUYP+Q/GsY0e7hYz2exuakye2jlOI3MzEh1wt1VzZBRvkP00mMS7WX4aVaCCdSNhOwQENy0Y+GX/gvWb9ysRjSED1UfJUeibNwfXXBpLy4Z3PIawNVUDRc++lwlu5XfXdGHgdUaTgVy7nw2nAzzpmTZLzVQTmc0w3ekF9+wETdWu6l1FmGNJz4W1AFhvP9+DrbsvthLi61MLSYTZ85iqI6D/i6sKob4ZMJ+h879INgULTkXzPtxnahYTHa34CX5FQBJbz4YhigQz5o03I2M39S/y3vgwgvEPE2Dtfow6Rh84rbHp4ANmmHlNGzo7aMUoj/Tj4f/D6Z6oVorAVZUk9+xb8S0xychhf/GLAXRkN6wl5ATi71xjHTRnxfvZdbrzrP38bSahalILwDZIFr0xa7hd6v/1vFZ0tZSjO0ZO4EbVN6CYdY1aZzrFLfUv0HKM1bNs6hBC+3Tx06qrIdagx6RQVisXkl/J4CZ3zgOEYfWZJridrv26icddtyoDG3u8mmGs9OAcTo8H5ZJQwfIRS6i 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: Use kmap_local_folio() instead of kmap_local_page(). Replaces 2 calls to compound_head() with one. This prepares us for the removal of unmap_and_put_page(). Signed-off-by: Vishal Moola (Oracle) --- mm/memory.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mm/memory.c b/mm/memory.c index d63f0d5abcc9..3dd6c57e6511 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -6691,6 +6691,7 @@ static int __access_remote_vm(struct mm_struct *mm, unsigned long addr, while (len) { int bytes, offset; void *maddr; + struct folio *folio; struct vm_area_struct *vma = NULL; struct page *page = get_user_page_vma_remote(mm, addr, gup_flags, &vma); @@ -6722,21 +6723,22 @@ static int __access_remote_vm(struct mm_struct *mm, unsigned long addr, if (bytes <= 0) break; } else { + folio = page_folio(page); bytes = len; offset = addr & (PAGE_SIZE-1); if (bytes > PAGE_SIZE-offset) bytes = PAGE_SIZE-offset; - maddr = kmap_local_page(page); + maddr = kmap_local_folio(folio, folio_page_idx(folio, page) * PAGE_SIZE); if (write) { copy_to_user_page(vma, page, addr, maddr + offset, buf, bytes); - set_page_dirty_lock(page); + folio_mark_dirty_lock(folio); } else { copy_from_user_page(vma, page, addr, buf, maddr + offset, bytes); } - unmap_and_put_page(page, maddr); + folio_release_kmap(folio, maddr); } len -= bytes; buf += bytes; -- 2.50.0