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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 774B7C433EF for ; Mon, 11 Oct 2021 09:23:09 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 42EAB60EBD for ; Mon, 11 Oct 2021 09:23:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 42EAB60EBD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:Date:Message-ID:From: References:Cc:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=h3dsz+ToBBvD48pmhRyA8WtaJ6LxcUyQNz61sCAgLek=; b=JXr/uf+QZC3P73/RXxKCv66xCR 8UmRTMNkDirkxWgC8maLXh42kOWj3ueNfuGh5XJd29O9hnYm45Hj/nVckXk3ESgaEH9Zsul2d/GXd hLPNq4Ov3XDMvQMTna3pIjk9h1QGvwt9Zvbw+SfyggnRHmvzMy40ufbpltHObUOx3yfhpR2Ic/apt o3SrwP08+z7gNGwckXKvOMuH7LKXwvYNEWya9E1tAkOyITELL6XMxsrt83YtqFQUp3ZfR4MQtyKO1 nz3HoxOJ95FkTQOKbyGwNK8SDmZqgqnD2qvzyGI20aKC0wPWn5MMDAMXXinZRk45WvUEjBUz1QvVH vnzZ+glA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mZrU4-008W9d-4z; Mon, 11 Oct 2021 09:20:36 +0000 Received: from mail-eopbgr140079.outbound.protection.outlook.com ([40.107.14.79] helo=EUR01-VE1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mZrTz-008W6l-Ah for linux-arm-kernel@lists.infradead.org; Mon, 11 Oct 2021 09:20:33 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3dM2b1vKhqqliMzuafjJ6Ig2ixZNMalyBuwMaYHlsrw=; b=9lG9e8p61BOJLjqUsiDjoO87peDwC+yBePdWe2Kz3FJTZi7CJoQFnpJWvcfWQsU70yUDQ0VdqHQANbMDLmVTNKOkqN5ZVk9fNSk5W1FDZf2DioDISKmHIFd6eXE8lZst8tjcVhaWILZhcDuVTbraxsnD6rldZX6kBlQP2NBEq9U= Received: from AM6P193CA0109.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:85::14) by DB9PR08MB6570.eurprd08.prod.outlook.com (2603:10a6:10:251::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.19; Mon, 11 Oct 2021 09:20:25 +0000 Received: from VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:85:cafe::fc) by AM6P193CA0109.outlook.office365.com (2603:10a6:209:85::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.26 via Frontend Transport; Mon, 11 Oct 2021 09:20:25 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; lists.infradead.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;lists.infradead.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT045.mail.protection.outlook.com (10.152.19.51) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.18 via Frontend Transport; Mon, 11 Oct 2021 09:20:25 +0000 Received: ("Tessian outbound f1898412aff1:v103"); Mon, 11 Oct 2021 09:20:24 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 8f5ca6b1d7703397 X-CR-MTA-TID: 64aa7808 Received: from c63a62784eec.3 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 31869678-364E-4BB0-A954-0E82F5BD10F3.1; Mon, 11 Oct 2021 09:20:18 +0000 Received: from EUR03-AM5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c63a62784eec.3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 11 Oct 2021 09:20:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WV8h0NKcfQe7tYhrkOnABNcNVgZXCmwy7SVOJD1pgmzUmZtDd7c6PTtnXTy+smdtaOSNmOqYjt+Vtc7fsBDu466edAiYweGRuN/A2YA9IfLtuREbzQAj4IvY3f4T6gnFgHt0OIDbm3DCBcjtclYtEbEOysxuXgxAui2hCj0wubjalJpTrTwZ24jG97reswiSDxYIUgx4ZuGX407UcEZq+8ycmHbImk2BzBJO2I/FLWm3LbJsvw2vXOu21sLorV3RusA1xkdnljJSaRBtM6OHXEcneFgy9jlOWhreCnfz/n7ryQAY0ag2huGe5QPBXLbfq9E2yO4l+n2VcCkS4gqf5Q== 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=3dM2b1vKhqqliMzuafjJ6Ig2ixZNMalyBuwMaYHlsrw=; b=Uuh9UhwLXf0QTl3fKt4gt+1geEGw/464Y+lRsOrK10qMV8hO9K4+KDf+AwoCSPvsmXYSr02NpQR2ofkf97ZsKPieWi1Ajd8BgRTXY+tXQCDSB2Jqop7N1vK1Q0skTGGiWAW1WpuO+yNqKCV/E0aHLMhDcog++KH4wVKzyAi6He09BVNSVKRMRMy3vc9adRc+JbmlTzaqmwBKAVXRAGu9TCDPXDk9rPGkaSIipDWJ5oXCcy1tX8emHtjstACElwCHoDvt9JxPWaZxOEnkanxPcZ3RwZsAimCoHAgAzxQIX24YvLsUJTjWmlz+G/zRu+g7qf1BPC9mgUXEiuYxtwPiFQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3dM2b1vKhqqliMzuafjJ6Ig2ixZNMalyBuwMaYHlsrw=; b=9lG9e8p61BOJLjqUsiDjoO87peDwC+yBePdWe2Kz3FJTZi7CJoQFnpJWvcfWQsU70yUDQ0VdqHQANbMDLmVTNKOkqN5ZVk9fNSk5W1FDZf2DioDISKmHIFd6eXE8lZst8tjcVhaWILZhcDuVTbraxsnD6rldZX6kBlQP2NBEq9U= Authentication-Results-Original: lists.infradead.org; dkim=none (message not signed) header.d=none;lists.infradead.org; dmarc=none action=none header.from=arm.com; Received: from DB6PR08MB2645.eurprd08.prod.outlook.com (2603:10a6:6:24::25) by DB8PR08MB5097.eurprd08.prod.outlook.com (2603:10a6:10:38::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.19; Mon, 11 Oct 2021 09:20:15 +0000 Received: from DB6PR08MB2645.eurprd08.prod.outlook.com ([fe80::2d42:f89a:25b8:8bc1]) by DB6PR08MB2645.eurprd08.prod.outlook.com ([fe80::2d42:f89a:25b8:8bc1%5]) with mapi id 15.20.4566.026; Mon, 11 Oct 2021 09:20:15 +0000 Subject: Re: [PATCH RFC v1 03/11] iommu/virtio: Handle incoming page faults To: Jean-Philippe Brucker Cc: "Tian, Kevin" , mst@redhat.com, Will Deacon , open list , virtualization@lists.linux-foundation.org, "list@263.net:IOMMU DRIVERS" , Joerg Roedel , iommu@lists.linux-foundation.org, Robin Murphy , Linux ARM References: <20210423095147.27922-1-vivek.gautam@arm.com> <20210423095147.27922-4-vivek.gautam@arm.com> From: Vivek Kumar Gautam Message-ID: Date: Mon, 11 Oct 2021 14:50:07 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 In-Reply-To: Content-Language: en-US X-ClientProxiedBy: BM1PR01CA0155.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:68::25) To DB6PR08MB2645.eurprd08.prod.outlook.com (2603:10a6:6:24::25) MIME-Version: 1.0 Received: from [10.162.16.71] (217.140.105.56) by BM1PR01CA0155.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:68::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.21 via Frontend Transport; Mon, 11 Oct 2021 09:20:12 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b6db74f1-816c-41d8-008b-08d98c985bcd X-MS-TrafficTypeDiagnostic: DB8PR08MB5097:|DB9PR08MB6570: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:9508;OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: ZpYWgQX16K60XiCwVHP9LGKLh0PCeADslXu/FspSCK1aVTMqhPugzaqK3UBt/NHt9gC3UsN0b0nGjUxOZD6F2fZiEf1H4Q2o+i0LCQmfv8uSKZeguNi60mvmrYHkIoMS50qwT1151TdnZV3jjLpA6W60Mtw1shRb7ZGbaNYRFRf+ccOe1JvmPMfOev8KWe9rLmDs4yinIS5bfTrY13eOToVtFVBjQJdfh+/mAgQEZoe9SL0qJYkrPf3scldOJw+5VproDThdW/ZbBN0okikS45cEMECuakrFa5Odt9SiY1+NMkyezErnbGD8x+hCkr/yS6Mis//9ZGzXkU8GxQBpp4KqplY3BPWLlQBhmEn7oo6UZ5ZwDZkPapAJdcnguxDZ/VTNyzzKa6TPvak5vMQeT/YCEuVXkXVPOSk+2Gs+FNvju3dDG73RhfSR7+riQTcR2IMORQvVsqCJXLZbBQBiEo4vqwFSM+EP+tG5ckeGN+rkojeDzXTtCFuuF4CltiY66G1OoaJ0x5qiyygw+40vhRvDfzzMh0OrcqBhdPm3M1c5EHbeZFtbR8ZJ8/MWdpDFZzEWc1H8Es/qK+0di79RbEaVgmz2O+viNKXmD7ggA5D5plFYH++vwjescprieNW3sdS+B4NBebXeusjTyvQq9edKYCfKl4IW3hLPip7WYQQdg+Ldrl9Za8dFT5HkOL+Q8nac4RvmTmLKW6meVLW5uEvHA75rHs0u1or/Ni4Qv32CCyVluV+afD4CxlpAwPXG5kDNSAitwndnK/SdYuZPMQ== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB6PR08MB2645.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(66946007)(66476007)(8676002)(66556008)(2906002)(86362001)(4326008)(52116002)(53546011)(36756003)(6916009)(186003)(6666004)(6486002)(31696002)(8936002)(5660300002)(31686004)(508600001)(38100700002)(26005)(2616005)(38350700002)(316002)(16576012)(956004)(83380400001)(54906003)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5097 Original-Authentication-Results: lists.infradead.org; dkim=none (message not signed) header.d=none;lists.infradead.org; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 1d1fff4a-eb4c-4a6d-c4ab-08d98c98556b X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sRHlk1c055ztKfsDev2M4RE2sF9EYqPbfUfeA9BzBVwAtLYxJvSNVCbexpdNQrEeo06iCFZ+L3UNLd6TS7IFQOuYWQ6mqld8aRcZXh+GPhmmayKW6XMkHj0pPuvJIHBoLVBBmBDVUJundT2cePCqcbzniPcmqzKYkP7hmJ3RQdmAowZNI2EHCcYm3DApoYTRC0cFmx8AXvacoQccE1cgE7DQ0lsZnsjr8JPG4xdsyAON+PmoE1DiFaX4bfUnpTutNNaFAfekxwS/wHt2DG9kPDbEjXx5/n9r5lgBR8mrpTGj1jItvLsCJ6NmrXvCPJCTbk4hnoskCuCuHZ/SCfVabix0uH0y3u2D+uLhrZItSqSGFCdSkTP2D565PFXPfNb0SDkBSQ1rGyFDkTExM2twbvTqn+h6VimibxXqJLa+8h5qssK+ITduWAVkoQFsBlaf7qe+hIWaaH9hc9HsXP41b+IHQjzpfIH/rP02TR4WQbm5i6Tv4pd4V6rYbZvnuCo5OPFT4efEVWb3HutFFmJBWRariVd0ve7rD4Xxig8hiCg08dO7km02XQ0IMd+6uUQMkaDkjaM2H4cH1sbIZdOa6FYu2wUYfvBaCWqvrx5X9O3RfirbMByEJgmlZS3BpcakW3ZlAd1pgbl4VmtN7Pegdr5tEDO7pMoXpLQcg+Bq3NDU6n0d+2ytqQloXR9GQN0fFUuSLXwKd6u4GCoOMbUiRvuIkW2prE3uJeyegKZUsMM= X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(46966006)(36840700001)(70586007)(31686004)(54906003)(6666004)(86362001)(70206006)(508600001)(316002)(186003)(8936002)(81166007)(26005)(6486002)(47076005)(336012)(36860700001)(2616005)(956004)(53546011)(83380400001)(6862004)(5660300002)(2906002)(31696002)(356005)(82310400003)(16576012)(4326008)(8676002)(36756003)(43740500002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Oct 2021 09:20:25.1675 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b6db74f1-816c-41d8-008b-08d98c985bcd X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT045.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6570 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211011_022031_437654_4159E176 X-CRM114-Status: GOOD ( 17.64 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi Jean, On 10/11/21 2:46 PM, Jean-Philippe Brucker wrote: > Hi Vivek, > > On Mon, Oct 11, 2021 at 01:41:15PM +0530, Vivek Gautam wrote: >>>> + list_for_each_entry(ep, &viommu->endpoints, list) { >>>> + if (ep->eid == endpoint) { >>>> + vdev = ep->vdev; >> >> I have a question here though - >> Is endpoint-ID unique across all the endpoints available per 'viommu_dev' or >> per 'viommu_domain'? >> If it is per 'viommu_domain' then the above list is also incorrect. >> As you pointed to in the patch [1] - >> [PATCH RFC v1 02/11] iommu/virtio: Maintain a list of endpoints served >> by viommu_dev >> I am planning to add endpoint ID into a static global xarray in >> viommu_probe_device() as below: >> >> vdev_for_each_id(i, eid, vdev) { >> ret = xa_insert(&viommu_ep_ids, eid, vdev, GFP_KERNEL); >> if (ret) >> goto err_free_dev; >> } >> >> and replace the above list traversal as below: >> >> xa_lock_irqsave(&viommu_ep_ids, flags); >> xa_for_each(&viommu_ep_ids, eid, vdev) { >> if (eid == endpoint) { >> ret = >> iommu_report_device_fault(vdev->dev, &fault_evt); >> if (ret) >> dev_err(vdev->dev, "Couldn't >> handle page request\n"); >> } >> } >> xa_unlock_irqrestore(&viommu_ep_ids, flags); >> >> But using a global xarray would also be incorrect if the endpointsID are global >> across 'viommu_domain'. >> >> I need to find the correct 'viommu_endpoint' to call iommu_report_device_fault() >> with the correct device. > > The endpoint IDs are only unique across viommu_dev, so a global xarray > wouldn't work but one in viommu_dev would. In vdomain it doesn't work > either because we can't get to the domain from the fault handler without > first finding the endpoint Thanks. That's easy then. Will have a xarray in viommu_dev and iterate over it from the fault handler. Best regards Vivek _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel