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 93946C7115A for ; Wed, 18 Jun 2025 12:19:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0E53D6B0092; Wed, 18 Jun 2025 08:19:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 094FF6B0093; Wed, 18 Jun 2025 08:19:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F140F6B0095; Wed, 18 Jun 2025 08:19:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id E26BC6B0092 for ; Wed, 18 Jun 2025 08:19:38 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 8CF9F5F99D for ; Wed, 18 Jun 2025 12:19:38 +0000 (UTC) X-FDA: 83568427236.03.6A54C57 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) by imf02.hostedemail.com (Postfix) with ESMTP id 2FC1580007 for ; Wed, 18 Jun 2025 12:19:35 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=FVk3ttHC; spf=pass (imf02.hostedemail.com: domain of lizhe.67@bytedance.com designates 209.85.214.172 as permitted sender) smtp.mailfrom=lizhe.67@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750249176; 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=nPxLnb07w2EJ8LEoe+9pqi7EbyUsRwD+FfXs2j0g29o=; b=1OKD8LLKuYc+HD1AOzdc1RMePMviUC72x2SJUF9OLRnWm22tIdsBzqnh0e3CV6pdPgqPyL CwzskfGf162vcUm1nGb4dAfJCZLre2n8e1yXysK3Wkee+pWDdkNlVu/NWUv9J4YfJVgzFI EyPwmo+8kmppTk3eGQASLq+xI4W/y08= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=FVk3ttHC; spf=pass (imf02.hostedemail.com: domain of lizhe.67@bytedance.com designates 209.85.214.172 as permitted sender) smtp.mailfrom=lizhe.67@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750249176; a=rsa-sha256; cv=none; b=nv3ONU+L4UGDmhNFwMggS9FZwVxS/4igWW8RB6rXO4FsUu0zC5Ojo5pVQXjU0SdGG+hPT9 RPIkVYeKj1jJ/y1vcqKHZN958eQq45HfZm4xav4XCAQ3+1jGXxmhPUYkjvMUfJtYqf4G4n b5jemeV631yqlGng4bIne3k8fNgITqk= Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-234d366e5f2so90629845ad.1 for ; Wed, 18 Jun 2025 05:19:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1750249175; x=1750853975; 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=nPxLnb07w2EJ8LEoe+9pqi7EbyUsRwD+FfXs2j0g29o=; b=FVk3ttHCjN9h56GhOSG2g+jYoj52Q359Q1xeEWr7lMeTIUwcEhtzHACKE9GFdB7v3C B08X+3O4IzQ41hcZB44WUbFteQO3ZQbsM3LfFvSVScB+gIo1hDroYqx7Da5i+RXslB/K GegScfPzsQalpX0Kkob6b9IMJ9MOuJJ08Z8jZgrOUhuOYh5/gqcm15jyNs8H5DjYRvl7 390AJCPJ38wEuQ7E90dCo4MaBabCq529XnS4rDtW+QB1umb6VFDncY94dpvawp7hatHD wO4fefknhIkJ9nd+EPcNApRttbt7ejp4b3S/BGffhzgGbd/2FI4rLJN+K2SNU9S2t+4G RYWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750249175; x=1750853975; 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=nPxLnb07w2EJ8LEoe+9pqi7EbyUsRwD+FfXs2j0g29o=; b=d2r+kvyxEabO4lkBRiddeMJkeJ9rwDFhB1qTjI1EF0RJngbAaC3a8Ujod3+tCRKC58 SWQwDWIH7Nsva1au+ZGNgsf2ESLivb/b5b/V3xkqRiuJq2tntQ9Wrj5lG+/EmvhzSZny /SP2hjuLZnMueuWUz8ew0hZ3QuZEa7axrKgzQlka2ZFfGsYfJzwU2CbOUZKy+ipcktsF sH238j+O1i34vgM6tXwb+pK3q89+awFVTFnO1VrvR360HQiqGN5fpvyTIMaBUgw7c9Rx PAiTjIdNPpxqgvIPFYpD8D1XYeyBULXPt7Qmrf0z4+OJbIQLgBaSeIWkK8y7caxR2cfI DcuA== X-Forwarded-Encrypted: i=1; AJvYcCWaQXGlfYvlDEZh/40GCteTqVflIGjUyzfPnBVdh0hYmSUoi0JD1xGhifSvx+N8oYXbBzm299tLxg==@kvack.org X-Gm-Message-State: AOJu0YwC1LISCaB78bPIELD843lJ2Q/irwhg/tyypE+r4eQ41nR6Os0j WtWoNo9GrcQvQZBsbqGBbyZxtcfWR2depv3tiqy3eHNmtyPwIE7i2Y2aTMfocm/dFfk= X-Gm-Gg: ASbGncsy+2lLcrCU0jLsHK+9xujl7ScMcKwJTucAobI2KNeN+fDZDYGKFH86lelHE2t UUekzkpwTCDIJToQmAnO8BtoV4hPQOvEAspkQrj3EArVCKjOZZrt9wrRw++HWcB0a9ciJkSJ8lz MqwvOuHSh73HAJlp9+KsOOSOFLv9nD5CwtX1/nFxtB3RNjs6GKTEScHCE8z+GtSF/KfCoju07Rm k0KXMUJmYJG2bER46Xxbwg/Fm3OO9gbqeMndpFYED0hUBZJeKKeTpWpO5z/1QWEEVJF4IHQr4Vn zanoFm7LubSHqSc8AZLzb0AAP9yUwvGfymQue0VZeENHkY3xv+++KGWEhCCM6ZQ+cZAi66+ZXDA JZ6TVatcFoTIX X-Google-Smtp-Source: AGHT+IHr2BtBXka0zKs63iqb8e9v9bkQ4+Bw5VuVkckVQQXkUyrc9aYneUo5DkOGQbDxvEFfQuAk4g== X-Received: by 2002:a17:902:f652:b0:22e:3c2:d477 with SMTP id d9443c01a7336-2366b3ac524mr289851425ad.25.1750249175033; Wed, 18 Jun 2025 05:19:35 -0700 (PDT) Received: from localhost.localdomain ([203.208.189.5]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2365d88bf61sm98240975ad.22.2025.06.18.05.19.31 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 18 Jun 2025 05:19:34 -0700 (PDT) From: lizhe.67@bytedance.com To: jgg@ziepe.ca, david@redhat.com Cc: akpm@linux-foundation.org, alex.williamson@redhat.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, lizhe.67@bytedance.com, peterx@redhat.com Subject: Re: [PATCH v4 2/3] gup: introduce unpin_user_folio_dirty_locked() Date: Wed, 18 Jun 2025 20:19:28 +0800 Message-ID: <20250618121928.36287-1-lizhe.67@bytedance.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20250618115622.GM1376515@ziepe.ca> References: <20250618115622.GM1376515@ziepe.ca> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam11 X-Rspam-User: X-Rspamd-Queue-Id: 2FC1580007 X-Stat-Signature: qbrfia59pz37dsegkosmj9k6ku7dey5n X-HE-Tag: 1750249175-73449 X-HE-Meta: U2FsdGVkX190DVN4mWiXJx6dBGFlPG32eo3UAwCplhgxvWcQEVIavGyrzLxtqBEa2JqRAqdg7QDIzuKn/CRgEV0J09wjj27JF3ZOCT5GcwHq0NfmqPghiDONAGo+mQd1qG4lZVDbvpEAMKZxQiuKWNO4tJPVvgzftl+DCMruT+4NtA+54JMewy2dPQDM/PMhtmeeq2h83ODRXO4cXhQ4XtkjXQblTCKGzZutdd5BPbBASkliJZ2zhCaAmMRoL8AAt3ueap0EF4ZSVkhQDYNVp9ZXnQvJRgt+ZaAvwVfh6kSIxOqhOa7O97kwqVkc23/QXB+vTOKEnP0JEZMF/aIcKE7SIXrRAYb15MirH07LZhixK0lX2dg9yDeVZjhcNy2bt2ZLyOe+7JmADAAvGglWmzH7BTvZSI+d49rLiVhPx+g9sI97dJNuYihSM1PlHOA/kvfNe4mmgjaHPtikJziB14vSL2yhv4GO15B71ZJFwpWIO6Hijr3Ij5wLrF+q+9ba1O1d51UhG7hqdHQJutSFLANF9A5tGHAWNLCX2OWvaLq3djxjYMB45ZhXlKEpvU0Wg7xv7J1uI77m91sL73/Xuye5Wn4zIv9qT6oVw97qYWE/2TvQ94ZNhYNJAMSwcdJvVrilSTi3OMXnLdUtdyj0A1fTv1DlxC/BmTj/5p2IgsXCPlk/wOeXM+CZj+x/PSjWWAoeXOGNbjF0nZDLbHtQzMDR4ByTOk3xt7/Sn/gjKdjdUtui7pjGAz9oHHbI+RqwJh7iUSLo0j/JSIcY9q3WhbUhQa00c4nZciou6HE6b3PE3O3OpYiVO7/x+2CE+8pgj/pNjjZpJR1kxRU2TLaBujQK22HnepR0Gv7Kgne7fuVwLF7Zmltoi4UvVWT+02xT/ffa7zMM33ImoKHuf9kYZndZ0Z/VOR261RujBfCIuAJorvYndNZWRzLK1EqounAe6VlZoS2iZdmnAeH5iTP CruNJlde iLvgfK4ZAKYbl+QfroCsK2594w/f9GQx9gGDncnzAqEbktR+FDjLQKXIDjv+/5EV7Y54aKUUu8qzpCt0= 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, 18 Jun 2025 08:56:22 -0300, jgg@ziepe.ca wrote: > On Wed, Jun 18, 2025 at 01:52:37PM +0200, David Hildenbrand wrote: > > > I thought we also wanted to optimize out the > > is_invalid_reserved_pfn() check for each subpage of a folio. Yes, that is an important aspect of our optimization. > VFIO keeps a tracking structure for the ranges, you can record there > if a reserved PFN was ever placed into this range and skip the check > entirely. > > It would be very rare for reserved PFNs and non reserved will to be > mixed within the same range, userspace could cause this but nothing > should. Yes, but it seems we don't have a very straightforward interface to obtain the reserved attribute of this large range of pfns. Moreover, this implies that we need to move the logic of the is_invalid_reserved_pfn() check to another process. I'm not sure if this is necessary. Thanks, Zhe