From patchwork Thu Oct 24 09:34:43 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Qinyun Tan X-Patchwork-Id: 13848633 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 C5636CDDE69 for ; Thu, 24 Oct 2024 09:35:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2E4366B0089; Thu, 24 Oct 2024 05:34:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 246346B0093; Thu, 24 Oct 2024 05:34:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0236B6B0096; Thu, 24 Oct 2024 05:34:58 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id CF8956B0089 for ; Thu, 24 Oct 2024 05:34:58 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 2B1A8141211 for ; Thu, 24 Oct 2024 09:34:39 +0000 (UTC) X-FDA: 82707985794.13.3470D7B Received: from out30-110.freemail.mail.aliyun.com (out30-110.freemail.mail.aliyun.com [115.124.30.110]) by imf21.hostedemail.com (Postfix) with ESMTP id 3BA341C0005 for ; Thu, 24 Oct 2024 09:34:19 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=LUsMBa2r; spf=pass (imf21.hostedemail.com: domain of qinyuntan@linux.alibaba.com designates 115.124.30.110 as permitted sender) smtp.mailfrom=qinyuntan@linux.alibaba.com; dmarc=pass (policy=none) header.from=linux.alibaba.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1729762419; 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=wMMJARvMklmy7JTnx9koiikH8rF5s7OtNVXr+o/den4=; b=H9xssxJifnkexMA69rRgrO1naXLK8YR65um2pQKQOHXnBm6TNrEF7LJuNrMCnR3gf1GRiG SW7kdflNinKsLYAmTQRi2NbdzE+2ITRXQk0ojgh5ojDTddyRj6P/YXS6w6p6wkJFmO1PDz 6xuIsn/vai8/G1L8ZNL9tyIJ8T5xk4M= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b=LUsMBa2r; spf=pass (imf21.hostedemail.com: domain of qinyuntan@linux.alibaba.com designates 115.124.30.110 as permitted sender) smtp.mailfrom=qinyuntan@linux.alibaba.com; dmarc=pass (policy=none) header.from=linux.alibaba.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1729762419; a=rsa-sha256; cv=none; b=6JLhtb9BmJY3tTZ4WTOJGdKJ/Wzelvj2g028/Rcy3IT5G5WOljDYRXZDtWKgCzWqWF3wef D14W+5XlZ6P4OBMrlDCQVDzxMl9JoBqTlx1RUh5YIkfPl/EoWoBv0z4pwD440RX5yGGbXv 5RjBJD/7ICQJdogBpe+l9C+AlhBaHwU= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1729762491; h=From:To:Subject:Date:Message-ID:MIME-Version; bh=wMMJARvMklmy7JTnx9koiikH8rF5s7OtNVXr+o/den4=; b=LUsMBa2rMhmBpv1ofAy24cd1/nk042/X1zxYSbx99cC7j8qYMEO2AjVUrbMuaY5bg4Pji+1eWcFcJBESZnQW8SKxb7xxqh+BDt+5KkziWGE8uPO21rYOkDYeSivS3KJbbgjQuKbSg6keUbJDxq/zCQcOCxw71LwuemeU614u9SQ= Received: from localhost.localdomain(mailfrom:qinyuntan@linux.alibaba.com fp:SMTPD_---0WHoiyxC_1729762488 cluster:ay36) by smtp.aliyun-inc.com; Thu, 24 Oct 2024 17:34:49 +0800 From: Qinyun Tan To: Andrew Morton , Alex Williamson Cc: linux-mm@kvack.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, Qinyun Tan , Guanghui Feng , Xunlei Pang Subject: [PATCH v1: vfio: avoid unnecessary pin memory when dma map io address space 1/2] mm: introduce vma flag VM_PGOFF_IS_PFN Date: Thu, 24 Oct 2024 17:34:43 +0800 Message-ID: X-Mailer: git-send-email 2.46.0 In-Reply-To: References: MIME-Version: 1.0 X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 3BA341C0005 X-Stat-Signature: 8ho9tz1tkc71w14soh6tq3epckkjpj3z X-HE-Tag: 1729762459-275786 X-HE-Meta: U2FsdGVkX1+11I3xLakn6jlCF+2IBb/XfgbQbVSCnXo0iL7u4wLZN73Zm0NbcIoCz9zibHQmPP+UacX89SgRjlJNpDWR8eppUwKYnJeEfQsR54yp07ue5kHYPapNMGI2H1MC46KBvleVWt9GaO6QeLS7ZyVUQED4QuS5wTtDEJ6IRnDMTNhLdzVRQAayJV/DA4BkpzRKHNRsSAvjmgZGofFT6pi5Aouvwo/FI2prtuMAT7xm5rwo/UM8bCo9cXTkmHRpzTiaZb5fjl9g2vqrfOWSCdo1WrQ/9KZdeubR5JZ30GtK5nfKatKgWwqePL5sOTLF/myza8uOk8OKaKBO2nnmJU/eGlSv7Sju30ZewFHtQMJalSelp+YGcnTPtJ5hZIBfRCsz7ADBSmIbGHAkWZ2FAYw9lR9gPElNm0agKxGSBnN6ybTBs4eZlPq+G3W3fBsXMM6DcvOJ9UdgOaBBZeKaE6DlUsMlrlJyJX+UNVZjpcWMFimUtZWhH0u3ATG4vKJ7KFzrLK8D7NmprpuAxa3UZXQDotKuMOEFuuov0g/R25iUGEq4lTB7FswGQAVPeOzYr25V3tf4WVkGOqQvnQP9JoA7ik9R5D4/bakKJ9nbYoJOrf/o+r00Lu3ta34ohb7BdSWBaZJyn+tb6otxvNFdu0Xnll508rhELPTtthDlHGwAHWLTQ8wclPelcaJagMz35vC1Z62QJsukSEQhJdFeYds0qdyHjfdC/QGFz93yGUlDtcPgX63PgN9cbr8KjmADhMGjSjgEmdYKa6M6Hw7bSNLASk/Eyi51Oafa6Wa+tWuss/xC0yUmJJXFtjSAao811J5zZ1rjLbKdCb+G0CuYDvlnDjw6hwWSYB0Ic+MikEPip7ZReeiNH7sOQ6IlbXN+/dH8TvWI1v0WWg48u3ifVb49lYgsVBOVqmgGNdEO3EgZd1TI/A+MHpa+LV5b2h5Brim+8VQzgiWTs8q KdEfVBh1 N/kx9Amo6jChxrIsFj4HW1n/BxVxn+fwxSOWGwvU/1l6+6o0MlfjZhtdbX8w79RASiZ10jvSB17EolucNcp1dpgfl/S0OJDcTrkBWtJ1JlUzazWUrVmv6CWzWkIDIJQsgEqD+mlDL4U3KrN95JbvWMIIHXpagXo13PUO9o19ngivzoqKIrHcm9BaY7dJC3D1CrSS1FsQomh+pvjDY4pQ6lQLWRc+ClIVJHkJL2C4DYj4SNLo6MCU/L4Gllj3BPlVz7XAd7rSRA6RGZ51r++UWbIIi1543x4mHrHrmeNHlui+BHIC9qjQl0u3Ptg== 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: Introduce a new vma flag 'VM_PGOFF_IS_PFN', which means vma->vm_pgoff == pfn. This allows us to directly obtain pfn through vma->vm_pgoff. No Functional Change. Signed-off-by: Qinyun Tan Reviewed-by: Guanghui Feng Reviewed-by: Xunlei Pang --- include/linux/mm.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/include/linux/mm.h b/include/linux/mm.h index ecf63d2b05825..80849b1b9aa92 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -322,6 +322,12 @@ extern unsigned int kobjsize(const void *objp); #define VM_NOHUGEPAGE 0x40000000 /* MADV_NOHUGEPAGE marked this vma */ #define VM_MERGEABLE 0x80000000 /* KSM may merge identical pages */ +#ifdef CONFIG_ARCH_USES_HIGH_VMA_FLAGS /* vma->vm_pgoff == pfn */ + #define VM_PGOFF_IS_PFN BIT(62) +#else + #define VM_PGOFF_IS_PFN VM_NONE +#endif + #ifdef CONFIG_ARCH_USES_HIGH_VMA_FLAGS #define VM_HIGH_ARCH_BIT_0 32 /* bit only usable on 64-bit architectures */ #define VM_HIGH_ARCH_BIT_1 33 /* bit only usable on 64-bit architectures */