From nobody Sun Feb 8 12:19:37 2026 Received: from mail-il1-f181.google.com (mail-il1-f181.google.com [209.85.166.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9C519A41 for ; Wed, 30 Apr 2025 01:02:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745974950; cv=none; b=N5X1r2+LM+vNC9HQ+ijD1DAac6uHIPDrVIumNmMaYVTSZVrFnRfTGp3aTq7U9g6+yI6KNYCvmMOWhVlDan/4iAiyoXgsUAGKszQSTYHluSQIRyrfPzqugLewig1bq/x6O49Aqoj4Qj+oVpSAXRpvr4DH+6mOjv01SGOuRcWTcME= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745974950; c=relaxed/simple; bh=cLFgLyuZyljh38qU7gWg64MLjDirt0RXT7NiyHhIsHs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ApeqkFX0MGVC1CksvXdCXwK6LNwStQfdt+uXsDthSvjKHCDqch4r35TmiRKgh7qFXhRR47rdJ5tTfHWkf7s4mfqR7JroQKkB0sNMjKFca51n/jl3vQQf6eeAI7Iu6G7UydtoXlw5m1LPWsutS5E+LuigvQf0WMdbGU8Vbm9JoOM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=eI4s/wvR; arc=none smtp.client-ip=209.85.166.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="eI4s/wvR" Received: by mail-il1-f181.google.com with SMTP id e9e14a558f8ab-3d7f4cb7636so23029055ab.3 for ; Tue, 29 Apr 2025 18:02:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745974947; x=1746579747; darn=vger.kernel.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=jvAljtVW/v3KFIRTwVnJMMgZUEkDR0NzqV+zjbhASMk=; b=eI4s/wvRyDso5nS8iQ0IqW9rrCjTN+YBITc7Ldw3193ChjQqoc6PE0LxjSU+FnHHt7 oU32akFcE/lOMOx9xjSltOhWB3gDKfqzmxEFpceM0b9CNkuUerxnNUWFAhwqSJ5WKZBl X33w5j9QmnZYU7xU5NKzSzeT58pg7StQ8CCUChpkE2wy6AsS0ZVcb5N0ycAIssJ5mHLE LtisL4GEpdpkQYhtyAOVo+dsCllBVJlRh7E4ZJHQsD8qrUlcOpr+AHG0ts2BEF0t/Aj1 JSFUwnw/Ksu0G9GblRv3Y81Q960EVqjpjcoD4aHl+xFtrj5+YLo1EMDXUKiouQ3wXngp y4BQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745974947; x=1746579747; 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=jvAljtVW/v3KFIRTwVnJMMgZUEkDR0NzqV+zjbhASMk=; b=MQbsQ1IpoOKRkVhItNSs/yedc1LR3W0WAtL39wbrp9p776ccHO9z6pIntC15TsLQ0V iN+RdSLCdZ5ohs72+2tcR6HFbbUEbQB1qWZ4q731lPEXRSpH1rpWpgdPKs8CegAN6RqU 67CK6iZZx7bF8d+4uOF20IVz9Vcs0/J3yj8zeR2IScixo3vADZv/xzKnj+uM32hZxe7d j8kE9IXMUqO3CnQC1joBYCHEbuLC4UZhalHacqXXf3JQ0+D63Dwl4Nl/PiPtts0aUufq YWKHv2/QOeCBtEhCXe819RhoBrIwYeFBAMMeq74+0E13MgTu6HL4TqGLf03GbPr660l3 dgKg== X-Gm-Message-State: AOJu0YxbIWv1UMN53EOg/p7JI4Oz5TU7ClY6PCLtZ5HNUaYfmNtD4N0j /k430Fz+//wCv2zzWzt+jXTBPXt4D9ipImqqRjCU4K8OUSyLFn0y X-Gm-Gg: ASbGncszJjLLkEU9sWeXSVE2TwJz3NOybSw5xJ5zbFLcVNB4xoFKVBsWvBomdFfs0K5 epvdaddtIaFl8Y0mpY7wj6xyaROCjQoU9rsYDV0BFcyWGLgc0sutv0EDuQ7sbBArvmwc3o8zuZJ TK9ZJswGlkFQHEc6vYzV0O/EUjTPs1rASW+8NJ35njoqJ95fDxDmOHGU+dqxrkUqgPCtlbLEe8Y eQ+COZx+UzFospe3/QnI6dvDLyirVg5YpTbFlNX5wG65AgUjmtnfxamfbWDKTED+GzXwjBo3n3p NsgtNx8IkjBNI/UrUF9xlCnUtKhZgAYqPzsK9e40LLMupfXXNtN4bykE2HnkaM/6wP5Ai3b+3yn G8A== X-Google-Smtp-Source: AGHT+IEqVWKK47PDWeN2vroc7qkCsqnpC1DhiEQxGM9nyXMqQBC4Oc+mxLlk/po3P//MbfWEHsKv6g== X-Received: by 2002:a05:6e02:164d:b0:3d0:4b3d:75ba with SMTP id e9e14a558f8ab-3d9676b28femr13321325ab.4.1745974947594; Tue, 29 Apr 2025 18:02:27 -0700 (PDT) Received: from fedora.. (c-24-8-12-5.hsd1.co.comcast.net. [24.8.12.5]) by smtp.googlemail.com with ESMTPSA id 8926c6da1cb9f-4f862e0f4c0sm534818173.4.2025.04.29.18.02.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Apr 2025 18:02:26 -0700 (PDT) From: "Vishal Moola (Oracle)" To: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org, Vivek Kasireddy , Andrew Morton , "Vishal Moola (Oracle)" Subject: [PATCH 1/2] mm/gup: Remove unnecessary check in memfd_pin_folios() Date: Tue, 29 Apr 2025 18:00:58 -0700 Message-ID: <20250430010059.892632-2-vishal.moola@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250430010059.892632-1-vishal.moola@gmail.com> References: <20250430010059.892632-1-vishal.moola@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Commit 89c1905d9c14 ("mm/gup: introduce memfd_pin_folios() for pinning memf= d folios") checks if filemap_get_folios_contig() returned duplicate folios to prevent multiple attempts at pinning the same folio. Commit 8ab1b1602396 ("mm: fix filemap_get_folios_contig returning batches o= f identical folios") ensures that filemap_get_folios_contig() returns a batch of distinct folios. We can remove the duplicate folio check to simplify the code and save 58 bytes of text. Signed-off-by: Vishal Moola (Oracle) Acked-by: David Hildenbrand Acked-by: Vivek Kasireddy --- mm/gup.c | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/mm/gup.c b/mm/gup.c index f32168339390..1fb8f3b9a493 100644 --- a/mm/gup.c +++ b/mm/gup.c @@ -3589,7 +3589,7 @@ long memfd_pin_folios(struct file *memfd, loff_t star= t, loff_t end, { unsigned int flags, nr_folios, nr_found; unsigned int i, pgshift =3D PAGE_SHIFT; - pgoff_t start_idx, end_idx, next_idx; + pgoff_t start_idx, end_idx; struct folio *folio =3D NULL; struct folio_batch fbatch; struct hstate *h; @@ -3639,19 +3639,7 @@ long memfd_pin_folios(struct file *memfd, loff_t sta= rt, loff_t end, folio =3D NULL; } =20 - next_idx =3D 0; for (i =3D 0; i < nr_found; i++) { - /* - * As there can be multiple entries for a - * given folio in the batch returned by - * filemap_get_folios_contig(), the below - * check is to ensure that we pin and return a - * unique set of folios between start and end. - */ - if (next_idx && - next_idx !=3D folio_index(fbatch.folios[i])) - continue; - folio =3D page_folio(&fbatch.folios[i]->page); =20 if (try_grab_folio(folio, 1, FOLL_PIN)) { @@ -3664,7 +3652,6 @@ long memfd_pin_folios(struct file *memfd, loff_t star= t, loff_t end, *offset =3D offset_in_folio(folio, start); =20 folios[nr_folios] =3D folio; - next_idx =3D folio_next_index(folio); if (++nr_folios =3D=3D max_folios) break; } --=20 2.49.0 From nobody Sun Feb 8 12:19:37 2026 Received: from mail-io1-f47.google.com (mail-io1-f47.google.com [209.85.166.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0452C17BA9 for ; Wed, 30 Apr 2025 01:02:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.166.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745974955; cv=none; b=Wj1DMgmpbfa+m6GTYVhjOddWW+0EQYybt8N9XQ8bwRH+V2xASTx1d8hqWqKXFn7jdACQiGPxJb/f/g0+S2495tQBMQe1tup5nydOznwb1Rq20HKhCZZGCOyjws86ew/YizWHE4IplOGqdlYyd/6wUgLOgbHOYuRzGacGaHzqJ8I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745974955; c=relaxed/simple; bh=cFKHexItRUd11v3EwM4TzQ+ON7gZ+4ewPo7g1jCunOA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PYQSbnHKgapMFY66CvDsZRCJaWMyFgX/wFftHuECZgHe0YfeEHO1pcoQGgHHsmiG75HrI4AIQ7z0lmK1hdRQ6H7a9ZDtPJWAnV1dcSU62P4rdckGIYJGmKAl695+PVKs9DQk3OkyWfBShAP6NBR0PknhUV/LJsJP+0RKkPilCmo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=EMDl5X4v; arc=none smtp.client-ip=209.85.166.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="EMDl5X4v" Received: by mail-io1-f47.google.com with SMTP id ca18e2360f4ac-85d9a87660fso631541339f.1 for ; Tue, 29 Apr 2025 18:02:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745974953; x=1746579753; darn=vger.kernel.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=HEffTazbstEq63EcUWxMjykvS/dnXa/9/VAWZDoyWgA=; b=EMDl5X4vSo8z5mAK7n2fJmccE/5EcXehlS7we/Nadyk1JXvdHQnNYv489bNGK7rwPW AFJTK+5P+cC9AoCUgKoSQTygIq0zdgK4c5T4b2Tl0E+AuOjSMcs3WhJX1yraFJC3rrle V4MnVQyp5WQv1sjVVgDbew9kYZF1zCFWktuyAtV+bcR+ZvjHK16eA0eeuu46rZTR4QmT LTyJKNYJwyLHV21dOOTomGiuKRwNq0zp5HHG0hOyE+bMr8leRXX57a8xTn5mctfjHLSd aOSbnU82C30RYLobj3WClp25SxvY60VdRR1UshIMBdNo7wyfuc7XyQ1te5oR0XCoTXy/ 7nUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745974953; x=1746579753; 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=HEffTazbstEq63EcUWxMjykvS/dnXa/9/VAWZDoyWgA=; b=YuZlQu+G8N58FKn4IfwHlKkR3J7gR2YZ7NYW6O3oGc0uwLzkdCiQqpWqL9zTvBeoPk UgvdQs7/jg9Gl6p9nqpvu7I2s1TDcVoRxAMTeILLE98Ge/vBvYrnHiz+l7ZXg3zO6v4z 6aImUt5Tuvf2oRZ99Kr/2TLl6voxqrSGeYK6Nxm5d6QuM2aAs17Y3VhRVcjmTmSEdk/V Ial0hIvRL514D8aLf41MhiSo1zlucPhXe/ZT8yYDBQO8x85PXRcqJTgmbQroiJ9wwqYV GCv4SKjn9DNP+UQuvV+/qmoas3rFTPTwEXlccAbszbv2FOVOI6ozuZtLZQrIyVLFNJlI l49Q== X-Gm-Message-State: AOJu0YzfCaiNS0d4a0h7YINLQDVI6ebNbqjyFnB7Zk397aMh+WkxQbIR GrMCgBBslh606/puiY37ypzVk9klLrsFpyZtpJBBfRibuCxZisgh X-Gm-Gg: ASbGncsxSK4+FfSFr0yIvfiTDDbT0TTq+5pURq7bwScM9oFs2L+8aWahyiU3XReHkZh h+SLwnPdsdltbx05KTCDL6uuItx9Qxw2Nn3E43qZOmgEf2tM5CJrA6kr1YTayh3bAg8BKKaKVj9 lKQmO5b5ik0h/+o25sk0MZd/Vf6iemG+9AWbgkfNv305LsAnDH1S9uOIPJs88wJHHkeE2zrv0fD mCbcC1ESPLhmMdlaIJzcGlKYUbivIS+XcsZz/8KJXIY+rh31d5G6rQJk8MXbYRJLNsvnbO9b4dT sfPKoYg+HU0UX+bipECINOomDfftOJn/AkJJ6g+BLjRXAjN1wxV5KrqNSRz9N978H8DHCsQe4az AFA== X-Google-Smtp-Source: AGHT+IHBXrhBwSFPNqBXwz+rbE5AHgGO94CA5PrzG9oTUm7O1545hwKGAT9SiJ/stkuj77kVq89pbQ== X-Received: by 2002:a05:6602:6cc2:b0:864:4a07:1a8e with SMTP id ca18e2360f4ac-86497e28dcemr53001639f.0.1745974953063; Tue, 29 Apr 2025 18:02:33 -0700 (PDT) Received: from fedora.. (c-24-8-12-5.hsd1.co.comcast.net. [24.8.12.5]) by smtp.googlemail.com with ESMTPSA id 8926c6da1cb9f-4f862e0f4c0sm534818173.4.2025.04.29.18.02.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Apr 2025 18:02:31 -0700 (PDT) From: "Vishal Moola (Oracle)" To: linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org, Vivek Kasireddy , Andrew Morton , "Vishal Moola (Oracle)" Subject: [PATCH 2/2] mm/gup: Remove page_folio() in memfd_pin_folios() Date: Tue, 29 Apr 2025 18:00:59 -0700 Message-ID: <20250430010059.892632-3-vishal.moola@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250430010059.892632-1-vishal.moola@gmail.com> References: <20250430010059.892632-1-vishal.moola@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" We can get the folio directly from the folio batch, so remove the unnecessary page_folio() call. Signed-off-by: Vishal Moola (Oracle) Acked-by: David Hildenbrand Acked-by: Vivek Kasireddy --- mm/gup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/gup.c b/mm/gup.c index 1fb8f3b9a493..795fd94f379d 100644 --- a/mm/gup.c +++ b/mm/gup.c @@ -3640,7 +3640,7 @@ long memfd_pin_folios(struct file *memfd, loff_t star= t, loff_t end, } =20 for (i =3D 0; i < nr_found; i++) { - folio =3D page_folio(&fbatch.folios[i]->page); + folio =3D fbatch.folios[i]; =20 if (try_grab_folio(folio, 1, FOLL_PIN)) { folio_batch_release(&fbatch); --=20 2.49.0