From patchwork Mon Dec 18 09:07:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ankit Agrawal X-Patchwork-Id: 13496434 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 859B6C35274 for ; Mon, 18 Dec 2023 09:08:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 229616B0088; Mon, 18 Dec 2023 04:08:23 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1D6396B0089; Mon, 18 Dec 2023 04:08:23 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0783E6B008A; Mon, 18 Dec 2023 04:08:23 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id ECE3C6B0088 for ; Mon, 18 Dec 2023 04:08:22 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id C88AD40A46 for ; Mon, 18 Dec 2023 09:08:22 +0000 (UTC) X-FDA: 81579362844.18.0AB4BE0 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam04on2054.outbound.protection.outlook.com [40.107.101.54]) by imf20.hostedemail.com (Postfix) with ESMTP id C48DB1C001B for ; Mon, 18 Dec 2023 09:08:19 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=gs4vFhTA; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf20.hostedemail.com: domain of ankita@nvidia.com designates 40.107.101.54 as permitted sender) smtp.mailfrom=ankita@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1702890499; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=bIgOQYSUcDqbQrALPAOUM80vmPREds8DjkfHG1eIAJU=; b=k+T1fFjO1yy5yKmpcp6YTjdetpKnh+1ZsyC1+/QD0xhXxJe3tbd5EpvC/Fke1EmDpbYLZm LFwwuKjrxM/NA0LiRImTMXrpi8mvDw41Evi3otr3zwBU7LZZ1zAAwliOeOBQFm6lyzoZii kMjr4NrOfYuKwXxdrHWL702kOdLf0Fg= ARC-Authentication-Results: i=2; imf20.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=gs4vFhTA; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf20.hostedemail.com: domain of ankita@nvidia.com designates 40.107.101.54 as permitted sender) smtp.mailfrom=ankita@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1702890499; a=rsa-sha256; cv=pass; b=ehzKL5lDzPns2UVtioq7iDBCqdcKxGXQUIkT1u5X/HHRNwjoX5bPdqvbafrhu1pCnoNNi7 AY+9qLX6t9B0XComxtvqWM5G/4Y00LtYaWwn/Vwu0ygw5HL+Gltiiwt4QVnCCk1rYMtc9q 463BOJwpRV4n0uEK6gBvXlFQyj6vc3g= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MN/P/0336/kDzC5OhncxeCdivouBz0O12PisQmWLhFjMotA0fmM6qG+ezr9WTNBc3TSq5qizgJ0QHTapRfRW41XWjPVoEMQdKwABd4K2cRM+InC39AyxxEKdKTa2U02w10ywUY5F5lZRcHF2Y8xWln3dqtYhTpR0cVdaky06U3YvsAcIzm004dnRgDTUlyFWuN66VE8pITnuH3aZu6Ovv+IX2p5nSU0tN5eZverv5UT43XAgou/kddvFx8R0tRwg3YgRLzUgjETG41tnkbdjcjnXkvtVtlYnlf05kI5jNawiVCQ2mahkgeBEIAm40j7KrGo//qQ4PqN1mDU8LhdFbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bIgOQYSUcDqbQrALPAOUM80vmPREds8DjkfHG1eIAJU=; b=h9CK5Hn3me0MhfXcE8dMGWkMxJjCMdjjBPXCxAaCWnuWPPVHjJ4Azjy5VQJYlH6UK259ZKcfYF0XKM8+1Jq4JUGscSxAI2ElNP1Tzl4uypK5aXFXVTtVkhUGU6p7timNB8Lg62xLgJc/NocXRRIQpwn0H7D/pceZh+Td6aBbohGSFgBjzpWkyyVGo1N2DQWKVT8ka1NGWv0CCZSF6xiwhrrTZbPyrXVOR8AITesMUDH9gP5WOpMnTIpfqFR5SXSvFCDZYSE+5vdv5HKifBDXCUDYqaD9JZpbrslL3jyaL8+phOAaM3h0RyoC0dOINF/oiQMn1iCg4NyFOgbl5L4BKw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=vger.kernel.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bIgOQYSUcDqbQrALPAOUM80vmPREds8DjkfHG1eIAJU=; b=gs4vFhTAouIbhD6YvNojDBEN5C8QhMQtPF58OJP9V4TzSDl90YkPPNSGFV9bQU0u/4CJ2V8N4gE9BzsmVq7+6rvkEqat7H0mzfxk/c0eE9RqHcJfZK7gyJDITfhCW+9k36XSAHcne6urLl+0uytFm3cbI76R/z5UK9xjJeosKtrTsz6f5ptVOF4jkIg6679UCncs1UuI4c4GkWQ3RCGOIt9yYwUtmSjWrwmXAqhIu4ZkNqzRfXM2+iKZF/UttOVPZ7tNMyOTDXmzwzLUw1fgzLlRkhy6jWhoMiiGfTBKnKtCTkjEj+ojiMxvfPIkyb0PXJQXEwwKJuSRv/WFdf6DDg== Received: from SA0PR11CA0101.namprd11.prod.outlook.com (2603:10b6:806:d1::16) by BL1PR12MB5303.namprd12.prod.outlook.com (2603:10b6:208:317::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7091.38; Mon, 18 Dec 2023 09:08:15 +0000 Received: from SN1PEPF0002BA4F.namprd03.prod.outlook.com (2603:10b6:806:d1:cafe::d4) by SA0PR11CA0101.outlook.office365.com (2603:10b6:806:d1::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7091.38 via Frontend Transport; Mon, 18 Dec 2023 09:08:15 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by SN1PEPF0002BA4F.mail.protection.outlook.com (10.167.242.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7113.14 via Frontend Transport; Mon, 18 Dec 2023 09:08:14 +0000 Received: from rnnvmail204.nvidia.com (10.129.68.6) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 18 Dec 2023 01:08:01 -0800 Received: from rnnvmail202.nvidia.com (10.129.68.7) by rnnvmail204.nvidia.com (10.129.68.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Mon, 18 Dec 2023 01:08:00 -0800 Received: from sgarnayak-dt.nvidia.com (10.127.8.9) by mail.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41 via Frontend Transport; Mon, 18 Dec 2023 01:07:52 -0800 From: To: , , , , , , , , , , , , , , , CC: , , , , , , , , , , , , , Subject: [PATCH v4 3/3] vfio: convey kvm that the vfio-pci device is wc safe Date: Mon, 18 Dec 2023 14:37:19 +0530 Message-ID: <20231218090719.22250-4-ankita@nvidia.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20231218090719.22250-1-ankita@nvidia.com> References: <20231218090719.22250-1-ankita@nvidia.com> MIME-Version: 1.0 X-NV-OnPremToCloud: ExternallySecured X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF0002BA4F:EE_|BL1PR12MB5303:EE_ X-MS-Office365-Filtering-Correlation-Id: a427e793-120b-45ce-226a-08dbffa8de3b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3lOi9508GZA6Cl4x71zeBQ/Zdg93uI09PNS8og8qUjNgPuk0ss8x8YnWg/8ezTa0BTvYzDDNa7zoMUQfyn8dSBPztxJ0CnBO5xUgJRfMOQ6r7kvHXWyxFiVPzGpzv+/iQp/SHci4yQxxW/uJ176//+fYi7idCpn1hA5azxcflo7dqrygZvqFgTgLECw9l+1mc7YtL9tSU8/K/u1DpGiq9JYNvJT2iItUCXMG4j2FQEMTWVpMo6MhYTCie5F7myCI8GAfFPPE3Xy9bTwrEEqD5wETUifPNjs6HkPQ5tTQa9NLdTcp35LPjOwBOT+6IqFtb3rnmUNN1AoXYAFgxdA6uqS+ZmkjxJwAgtnpKUnXu2bOeNND7etgKnacf9dn7eXgLWZhIzxBpz5BYWVa9syMwH07AhgKhpB3bfwO9HTbEccnnDLQMAD7r5pdLlTc53/woWsLm6OJeazoF91fWuLzW7Jj5iG0ppmVK9jes+m6OpmqXD7OT0e0E+jSpnWdXCKvuhd4Bj4JRx05stzGrpz3Lzt9jzisbrLsoCdlUroRXvjwykuxpTsLKt8DP5vfmWR2IGheExGeUMfDmmx7GnN+NOmJKLhcu/tn85XhaCzx6kbsKG5lzHMIx+BFmhplHJDGdyB4xrYX9uLCjCt71r7U3iTqWl+vygOpH3FCBgisqJAHYmc6tL4jS4UF/nLIhyrKdZWsB0Nnq1NyzeL0EjpDxQPxWH3GN2o+GmWrRg22pVRhDY0cU9QWDMHdZKOlfqoy0HiLR/sM65UU8qCjtGHZzXijx5vbgRt68ZeN+6cWzCBMQgM9V1NqPrQBNEz0uwIL X-Forefront-Antispam-Report: CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230031)(4636009)(136003)(376002)(346002)(39860400002)(396003)(230922051799003)(451199024)(186009)(1800799012)(64100799003)(82310400011)(46966006)(40470700004)(36840700001)(40460700003)(1076003)(26005)(336012)(2616005)(426003)(7696005)(6666004)(36860700001)(83380400001)(47076005)(5660300002)(7416002)(2876002)(2906002)(41300700001)(478600001)(316002)(54906003)(8676002)(8936002)(4326008)(70206006)(70586007)(110136005)(356005)(82740400003)(36756003)(86362001)(7636003)(921008)(40480700001)(2101003)(83996005);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Dec 2023 09:08:14.9656 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a427e793-120b-45ce-226a-08dbffa8de3b X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF0002BA4F.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5303 X-Rspamd-Queue-Id: C48DB1C001B X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: tu7j9ajozfb6suzk4xcjkeasyjcno9us X-HE-Tag: 1702890499-748048 X-HE-Meta: U2FsdGVkX183+f8PLuZAdo6lnwijceBLrX1Fm60f8FX2YaqLGAE0HrFgoDh8Jt/CK3G+hF7eeSJs2KF3ANVIaDACxPAippl6BQnCzgItKApgJec5P9pk04LX6lV0QbJA160tA6FJZLqCjSJhQO4Hhj+3UFWJ8O4a+5jYpPA5yLosq5A/sH9IRUqE64YYauNcU9IEtVS41UpJkWjphGygVpYzX9Vx4U4d2GEoBUkLLvWkUdkN/cHh2PpfHpJKLbji4CA9fhS9jS2VV7IjupC4KGnFe7cb7aHUVmaJ0gd+BJ6ohyfB+vzPyN3VAxtR2FodnBzM1gJzF2QIITFp3VZd/R+yx6UJph9zwzYNi34Fbi+AY7SU6zg9h4WEbeSnQJgo2BNP+7fUaYVuqr7Anktc75+pEXawN+tQ2857crRn7lEn4DjBLMruLttoAg5+9dAIbN8RxfKm5Fwh7q4yM9O2gKGEo9UUMAZlUnvpX2UOTo8nOfpFs8L6tQOLAn9B/bFHc8JQip0ze0LJf5OaPn+Z0mcPYWlf4fUwWB5ODcOUlQ58xEJ1pCCM9FqBqJgh/euuTpGvNFwDCHdiuMyN6A+UfciZudp4BATeWz6Ow7BauO1JmyOxRP/yBcaOq5WPa//guSq19xIQYfaDQEHIgLe1DgjaBpYn0ZCwgnhJ4e5vjQXTsJUMdiAlgdQTFBUznMJFBkLFQcjZwNeuGBFDgAqJEcd8HpqOMOF0wx0C/ZnEl/a040to/vTc7T8A2I2sOO/XuWWuOkj4HvcVZnV3c+tO+qVdyCA+IHvQsn0e2/FuBh3Ql5mK6BilGHMnTLbiSPLRcWPF+5Tizmi0ayWwY2cWIyEn+EE01PFso8jVacJQRw8pi+GBmfAh1xbQmgUI0XA5yp3Vsqg4AGdB93Yp+beQF7IfIiui7C7sc+UrnRoEP0+WBSae2tPIEfB3bA0Y7yD6hctI/647U0Rcg8X7AAi /PL2/L0w alMLUBE4zNPzpUbV0m7qS1HEqCPxGafls+gTeu2fghJeJnNHw0YrpYAY+jL+WTl9rGSgfNNFjNyy6bd2GGQdKGdrbN3HGiSIFIzVXlbxTpQXfR0Z20IulRrs/D4upHBu6VkdSHg5ow67S+krj1LjvgyzePzgDtuh3L/cdt04Co7hRbbf205fOd645DGGH04sBgBsn8VW+TmmuHSoFQL8fdszA31e9a05/Ae73eFXaa+DimzYyGG1Slo2Ndji8NY0KrJFOa7ttMjO23a8s50VLPpkVKQ== 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: From: Ankit Agrawal The code to map the MMIO in S2 as NormalNC is enabled when conveyed that the device is WC safe using a new flag VM_VFIO_ALLOW_WC. Make vfio-pci set the VM_VFIO_ALLOW_WC flag. Signed-off-by: Ankit Agrawal Suggested-by: Catalin Marinas Acked-by: Jason Gunthorpe Tested-by: Ankit Agrawal --- drivers/vfio/pci/vfio_pci_core.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/vfio/pci/vfio_pci_core.c b/drivers/vfio/pci/vfio_pci_core.c index 1cbc990d42e0..c3f95ec7fc3a 100644 --- a/drivers/vfio/pci/vfio_pci_core.c +++ b/drivers/vfio/pci/vfio_pci_core.c @@ -1863,7 +1863,8 @@ int vfio_pci_core_mmap(struct vfio_device *core_vdev, struct vm_area_struct *vma * See remap_pfn_range(), called from vfio_pci_fault() but we can't * change vm_flags within the fault handler. Set them now. */ - vm_flags_set(vma, VM_IO | VM_PFNMAP | VM_DONTEXPAND | VM_DONTDUMP); + vm_flags_set(vma, VM_VFIO_ALLOW_WC | VM_IO | VM_PFNMAP | + VM_DONTEXPAND | VM_DONTDUMP); vma->vm_ops = &vfio_pci_mmap_ops; return 0;