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 3D97FC4332F for ; Mon, 6 Nov 2023 18:13:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 98C656B024F; Mon, 6 Nov 2023 13:13:33 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 93D0C6B0250; Mon, 6 Nov 2023 13:13:33 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8047F6B0251; Mon, 6 Nov 2023 13:13:33 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 722256B024F for ; Mon, 6 Nov 2023 13:13:33 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 4A8A11A0256 for ; Mon, 6 Nov 2023 18:13:33 +0000 (UTC) X-FDA: 81428327106.05.8442B69 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) by imf11.hostedemail.com (Postfix) with ESMTP id 94B574000E for ; Mon, 6 Nov 2023 18:13:30 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=E62zK2KY; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf11.hostedemail.com: domain of usama.arif@bytedance.com designates 209.85.128.45 as permitted sender) smtp.mailfrom=usama.arif@bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1699294411; 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:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=lf3MJg4rdvAfKEuARU7S/KWx4iZciTo315WH3I2AEME=; b=RzwfFfPd3BtpzW2Oe2IwPI0maCtuA9hX7sqbc0KUAOi0ChQlR/7KvYFexFL8HQ/4YsRWz4 mQqDAGutWw6RpVpNJlDN5Z+spfiKsy6M6H6+h/qN3S/pkhXS51k3Q7q+AolOSOKHCP+ftF CDP5SZMJ2ZtiaJ/BPXv9H3Z12NEsby8= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=E62zK2KY; dmarc=pass (policy=quarantine) header.from=bytedance.com; spf=pass (imf11.hostedemail.com: domain of usama.arif@bytedance.com designates 209.85.128.45 as permitted sender) smtp.mailfrom=usama.arif@bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1699294411; a=rsa-sha256; cv=none; b=3U+djLhWCtTOgOifSot6B7jzuBvhz79Dnv0+jb5PTyuwOcu8HHkIOBDIz4SK+oUXIPx3kJ dcLuCavdArBkjEqRsw6E9205Wy5NfcuYUYjm0E/Lzl5Y4pRvV/CDdFJRZpVpvn0LkV1QK1 O0SicufjW0JWYWEzeKWmo9S/6THM7Cs= Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-408425c7c10so35468155e9.0 for ; Mon, 06 Nov 2023 10:13:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1699294409; x=1699899209; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:from:content-language :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=lf3MJg4rdvAfKEuARU7S/KWx4iZciTo315WH3I2AEME=; b=E62zK2KYUN38l2I2Nfs2HNN35JpsGRHpsFcjEPJeZ+Q1z4h4Ch6Nt2GIZDS1Bbphxk lWGH1FNamlanKC0m3V6tiNkepcHLVjIPYUGbOwkI6/iTS/FDWmDjj9oU0iZXp62SnPPU p7osfZl5tNqmA8oc4ydAB1DoYBAkl6Hv/mJZ8BaTwlYO1eH7MhXPVyJkTKT6FnlzFbcG tQx0NXv/uTHKx9ZA7FRxev0dvX7DMWT348+P0alv7g8BAiY2EAvpKdq2qKhFypKk+Xym GsJJIfLLm11US2cbmzsHd1LBrthxv+6489yGsRuFxkaCUoMRM5KxZk46xwicdZzQYXaq z0Og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699294409; x=1699899209; h=content-transfer-encoding:cc:to:subject:from:content-language :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=lf3MJg4rdvAfKEuARU7S/KWx4iZciTo315WH3I2AEME=; b=V9jWEPPlZwHBYyGViJecLJFbfZ25aHWE826E41UYYSVw8NPtWKZLm86B6WvgMj5K+b qVkDMIahr6TjmVcwYG4IrEmDsAGO+8P99GgG0KTKrSUnQbHHcRXjqa1LCWu6q6pTT0WB zWmbAtcj7pEPigTNcuco/Iel0HCUpuQJgmu3KgModur83apDhjHZ3X+oQjHdHHAjZXMx 9ded4hKB/ysz3WvqmDFdspAvLfUoOzXvNL4/JGr1SeybdqrEj4jL2+8+wBJsSvaPx9dJ C5xsU3s/r98mkURNgY9q8DOODAe1T1TIxk8rYOXED0VacSdAsCE1pu+sPlVH/In94n7g 7+xA== X-Gm-Message-State: AOJu0Yxy/uzZ5UcObP03pmet59BFVMPRpVPEIMQqlLyvDNO/ByoPkibp gX3yNJk58h0p5atY2DWAD4N4aA== X-Google-Smtp-Source: AGHT+IHhmc8NfcxQcDytAzPW3g7ZWI2zbrwLCIsWYH3ZTDXB3uiOIE8LIMAk6YkvN9ycu+MwJS7fFg== X-Received: by 2002:a05:600c:4754:b0:409:6e0e:e970 with SMTP id w20-20020a05600c475400b004096e0ee970mr399666wmo.23.1699294409015; Mon, 06 Nov 2023 10:13:29 -0800 (PST) Received: from ?IPV6:2a02:6b6a:b5c7:0:cc4:fc61:ba1d:d46c? ([2a02:6b6a:b5c7:0:cc4:fc61:ba1d:d46c]) by smtp.gmail.com with ESMTPSA id o29-20020a05600c511d00b004083996dad8sm13075526wms.18.2023.11.06.10.13.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 06 Nov 2023 10:13:28 -0800 (PST) Message-ID: <172ab047-0dc7-1704-5f30-ec7cd3632e09@bytedance.com> Date: Mon, 6 Nov 2023 18:13:27 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Content-Language: en-US From: Usama Arif Subject: Conditions for FOLL_LONGTERM mapping in fsdax To: dan.j.williams@intel.com, linux-nvdimm@lists.01.org, vishal.l.verma@intel.com, dave.jiang@intel.com Cc: linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, Fam Zheng , "liangma@liangbit.com" Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 94B574000E X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: wckgf6ozokxeuu4s1zkh16xr58wr99j3 X-HE-Tag: 1699294410-924440 X-HE-Meta: U2FsdGVkX1/H3o/NhhYIijRa6JKhZcVr5BkB/2yYmCt/yaoOmoHt1iVMFiCKrbRT2JNtXMttAUnO0/jDokMLc32nPVYc3nLRSd85XvTcBgiLy6ja5y04BRII2TqKP1tN4yhsjV9szv2tZM+NSCH3GWP1l2utNE73P4n0LWNwZLOjBP0pYdp6eVHqjMfZmME4C7tzAMhlRfT2vdwZVWOFgybkAfliN8lRx2HVMuXkduzqqzu3ya600e8i0hWXNyWObO/b3+ZocyLOTmUruj6qgHsO3JmJu68Owty8WdM6yUqn+MqvaEF9gFULrIMUwB6MN2/Ha7TeIPX9rwNljVRnjtCikXQO7F5Qdpo5V5p0dG2DHN/bF7LU9zUX7sLPqX7IhWiYQMiD44qgmQ35kyR+FTGamkcEiLTVlGU4qvs9tBAIo+3FT6zAyVZ6BMCDbMHGCTWxDANzeAcO5gQzmt4LrWaBFUvHER5lmx+fPEFu9U/PJast5HLkr1nBmzyxaRSr8T8v65J9jqXWozMbZYztaIA5bOWoXIaSuFrdte3wOjAyZu6u9MfLAVAlFE9uzXcddeUcSp5SoCPYjSFoyjpv6FgWJUm99ZG+jqDTtkwrXjOmyKLNd9lv/fCxn1nhmRxqFrmuTAxep/Vgdl1CUS9ddgdYdlt7PLdC+6A1Zjf60AfkzUL31V1Iak0b8u8EqOXnXRPtG22U+pEuZDmrt7O+YlM/c7VRohWwqDZ+boUrHyLjn0t4Q60WX2qI1Vfv3TwroZsmMKCgCtbwk2+h7aoCNjEhzeGST5IdJC5VY0YJ/Ld/ibSODH61ybYtNbpcfT2RBtYhmxEfvUYtjn1tcas7hdKPFzYO70qh5eAEXfqMcZULIRpgJLcMcMWCHQXPFEuvzdydgrXkcrvwVUtdf/zxM6YR8VQaXmbPMEd5bA4NOcI4ja/jcSrpHq+uYZL4ajEPeRVI30FmVYjg6tfczOz pcGyEZXy IXZ7De2/VLvbrUtD3a/Skby67boefJDVlWRnie5R66bC9LWqrJQOTgFGHSJpZba/iQhv40GQ2twxAgKdMb2U8hEinebHowi5+c0DmB/ScsZ92zH0P/fwgVj58LExpQ+muRbLVs5wtHAy1+khs4nkvkqkU5FRB1x3BUWaTgsnuijOiZ21BKGtP0cmgicLEBlAIg/eLwlvkUZmP8Qjmd1rx/456lRKwG59W7Tc74f9H/Y/S13wQo86F22qvJ3xfw4BTCJikZg0QxZlibk2inB8jffXKU9h59W1qDM3NggrBWXlOdF2O6lbe7Xr85xy1CBVyLtUHTBX7mvoudOlAVDtpMukbU9BXZusRkKsdoF4iksSOXCtDtON0Rm8L8LWF2nsMaR22v+LPNXDYrb0xcl0h3XKBdPb4JLRM9RIwtM2sdADLrnndPAiag0nVnraKv/1tcEJv9fU+13aQfhvBYloL63sgGO9xPSoGdg2hFHIvq7u1OjXKWdOtNFFdqxODHHFr7RXoAskQsXigx9I0pziWITFsp2qoAX8MpAG6 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000348, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi, We wanted to run a VM with a vfio device assigned to it and with its memory-backend-file residing in a persistent memory using fsdax (mounted as ext4). It doesnt currently work with the kernel as vfio_pin_pages_remote ends up requesting pages with FOLL_LONGTERM which is currently not supported. From reading the mailing list, what I understood was that this is to do with not having DMA supported on fsdax due to issues that come up during truncate/hole-punching. But it was solved with [1] by deferring fallocate(), truncate() on a dax mode file while any page/block in the file is under active DMA. If I remove the check which fails the gup opertion with the below diff, the VM boots and the vfio device works without any issues. If I try to truncate the mem file in fsdax, I can see that the truncate command gets deferred (waits in ext4_break_layouts) and the vfio device keeps working and sending packets without any issues. Just wanted to check what is missing to allow FOLL_LONGTERM gup operations with fsdax? Is it just enough to remove the check? Thanks! diff --git a/mm/gup.c b/mm/gup.c index eb8d7baf9e4d..f77bb428cf9b 100644 --- a/mm/gup.c +++ b/mm/gup.c @@ -1055,9 +1055,6 @@ static int check_vma_flags(struct vm_area_struct *vma, unsigned long gup_flags) if (gup_flags & FOLL_ANON && !vma_is_anonymous(vma)) return -EFAULT; - if ((gup_flags & FOLL_LONGTERM) && vma_is_fsdax(vma)) - return -EOPNOTSUPP; - if (vma_is_secretmem(vma)) return -EFAULT; [1] https://lore.kernel.org/all/152669371377.34337.10697370528066177062.stgit@dwillia2-desk3.amr.corp.intel.com/ Regards, Usama