Received: by 10.223.176.46 with SMTP id f43csp634977wra; Wed, 24 Jan 2018 03:44:21 -0800 (PST) X-Google-Smtp-Source: AH8x224rauPufhwPAR/CyMO9AS9NaWJUAN1QqqrJfykumsRCJr+pWIvjVhD57z86ZWrlugW7Dp+V X-Received: by 2002:a17:902:8a89:: with SMTP id p9-v6mr7733906plo.397.1516794261217; Wed, 24 Jan 2018 03:44:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516794261; cv=none; d=google.com; s=arc-20160816; b=zcYEcLRRtXseKSTlJw4ntKIJHxOgr+8tLSwyS3qpNPag8UHV5DV4eaM1WpBWiksVZw hms0VMZjTluoif98cpUqJ8kcDF0jK5Ilt5ApBv7ZyyCvBTcjjFINye2G2d+2dF4eaL39 6e3q+4lfxYXV0SZRMzaJkFNkaampr515gjX4sXEevr92lOetpAtTOr28VmwzNkt165Fn UZyFFWv2DbugaP0I2y/eF7GN9Qlp6arFeNffextxk0kAjZN3AejIb+AgqxD7yPO8GYrJ MjLYacXkDve7rtJOdstrg0vcoDaNTf/ZmhWTL4exaq3MVpBObFnWqulpHGmbcHl0JP+z FCpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:spamdiagnosticmetadata :spamdiagnosticoutput:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature:arc-authentication-results; bh=L7rI1ymrgeJhOs08F8kb/1iF3nnHGK6+SbPNzPbk7QA=; b=BDq/53y+abPmh+40znyF0MPDf2OA+4fWmvMciFiyTPdGsRbTOX+TG14MUWeMRodVNR NzTNqpImJotahjYtxgggk8RGhN2IZoQc1JSPkiSvnV5OSz/DhGQGI7WnAk3oeZ0Tma6u 9duS9GA9K9+iBcPaEF7ac3qqX+Ga8CgpNazTw1SgNcA0gPkZtfmfsG5hwaCxlVO66sAG yX8h5S47TrYEjdPfVolcswTrZ1viGJieJzXUqxePzawDX9YqSsxheQd13fp9AvB3Ib2I yVhr2e3QCdgfD+ayRQrcOw6Eh67BWZg+O89gg0jsA7f5PQrIy6vFR1m28NY1tIJ5c7qV ZOaA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amdcloud.onmicrosoft.com header.s=selector1-amd-com header.b=yAl0diaZ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m8si28210pgn.343.2018.01.24.03.44.07; Wed, 24 Jan 2018 03:44:21 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@amdcloud.onmicrosoft.com header.s=selector1-amd-com header.b=yAl0diaZ; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933316AbeAXLnl (ORCPT + 99 others); Wed, 24 Jan 2018 06:43:41 -0500 Received: from mail-cys01nam02on0055.outbound.protection.outlook.com ([104.47.37.55]:13128 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932891AbeAXLnj (ORCPT ); Wed, 24 Jan 2018 06:43:39 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=L7rI1ymrgeJhOs08F8kb/1iF3nnHGK6+SbPNzPbk7QA=; b=yAl0diaZMUYJ2I/rTmsN9CSXtVdxsGAs4AHMJ+A3Qy/GzplkfHbzCsd07KYWK+10UD5b41RDcx3sIvzO1N4mpLqPhNBf5U9xuW+GamV079+er7qLjVOEvXDwxzHVYaPxrai3JrNEsHA+91f+0YUtlRtKZDGmyiu3PCbDfdFCpG8= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Suravee.Suthikulpanit@amd.com; Received: from Suravees-MacBook-Pro-15.local (114.109.128.54) by MWHPR12MB1744.namprd12.prod.outlook.com (10.175.55.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.444.14; Wed, 24 Jan 2018 11:43:35 +0000 Subject: Re: [RFC PATCH v2 2/2] iommu/amd: Add support for fast IOTLB flushing To: linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org Cc: joro@8bytes.org, jroedel@suse.de, alex.williamson@redhat.com References: <1514366435-12723-1-git-send-email-suravee.suthikulpanit@amd.com> <1514366435-12723-3-git-send-email-suravee.suthikulpanit@amd.com> From: Suravee Suthikulpanit Message-ID: <2783078a-1cf6-58da-35a7-98f91afabcc4@amd.com> Date: Wed, 24 Jan 2018 18:43:18 +0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: <1514366435-12723-3-git-send-email-suravee.suthikulpanit@amd.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [114.109.128.54] X-ClientProxiedBy: KL1PR0601CA0013.apcprd06.prod.outlook.com (10.170.160.151) To MWHPR12MB1744.namprd12.prod.outlook.com (10.175.55.15) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: eabb540e-b8b8-4cb1-7d55-08d5631fb4eb X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(5600026)(4604075)(4534165)(4627221)(201703031133081)(201702281549075)(48565401081)(2017052603307)(7153060)(7193020);SRVR:MWHPR12MB1744; X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1744;3:iZGdSrVfegj+SKbO3M7iNXvlF8NnHdKQEgD0qkrcEbyeAduGwtlgQdMCPZ66365GdLiLZsnxT5aS8DOZh9fSq3ydZbpKaKGjpF0LW4UeXfiDPIU2SSuv+6dtZumYAcU1elrGPuts1vo+ptiAoRLBCEOV+b3QMf/SxyeIB/cOry6o63vFfO1xcPOMHbWmn6+jmtpUxVBR0wuAdUSAmMY5iGgFC9oZoOStDpSopFbmVekqKAjV+E4yK/8E7ZxULcqC;25:3E1B/N4Y8EmkoswTsN9QY/0Pw/MeY9UvGlvPXrKxxJJhw1GT2mIYeK7cyU5VI6nxAwKI83NlhRpgFD4IA2oUAZS/PSn3ONVnxo4eqab5J5Aq4vdZQ/PsSGlTlnyttVXxd79BTjrv/tgcSi+9keY4jmzQB+IHkTNLI9lZ/ScP7AG/pUcwrR8aqx0Z+fOqoVE+FoQUrGIEv96H2kX+kLf0LnSOAxR1KYJXSpVsTS0iHasTbPpUYhzqAC5B5EsViKRq2ueauBDKJ/KGV8aFjVbewrXsPWs+STZhEetLomME4/f8EsGKaL4W0xBlTlzqTT5gCF3CiZhk3/qcALId/GTVsQ==;31:YotdiBSk3qH20IHMw8QT4vP3EpXyqIPcCMMRD+NhpBVPGvWt7WwmbVNVTfBCofnJdvn7Yy7MR71OGu4Q6Q5lXrV2zlWnoDUdSJszNAwXk7Y3jrQlEolNY2O09xzphbywy7OkrY+0bFgPpZbuPd2bAiby4Lo8KZI9w9r5E71HlclPvCZUYjUISr+qOdX2zcAMb1UxG0xeHsj0EnmW2sEwXI2vxEJTEQ6xHlHpTyLqZQw= X-MS-TrafficTypeDiagnostic: MWHPR12MB1744: X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1744;20:dbimEpjto54q2z9M1ycMsCoQ9JWeodjHihB5sbOWT/C3RIpOQ6EcsAlb7O9rBxgvXiVBb3z0Uabr0qTNJKjBNQDRNDNn0Vx/dMl+z7oLpxgdRXxIyWxvoLWbDZJsm9dL8xysh45Dr99gqi5F/nkb9IoJe1fPZvc36LCFKh7N6YwQQKkriYidmYjC1pslmwvj8spGvFX7icMmtGM5Yrv1qYs3/GaqhF7nSlrVOs/e3fe4S5HWK+UoN6zVfJtUv5nYHowQFSqCj/fkXtP635p9DCq7Ql/7U6CIMgnis7WwrTkbNq8/8oo9gL22pUXDk0bO+BwxYuTEprV3FzfmX6FYoUvRreo6tN6rS+YxK6jUKTtCROjB8RF6+tmc0eyMd3FGK96pS6BurSuJuKFo7VvFeXqPPvGAa2NN2FqtyzQvKMhUjKM9GSFaURdg0KKZM/bV6CE9WUp0ERpCDFm/DGbxEc3qcGdJN89eY5TegRPQVoZ7ni3VIFhYGj/AG2e+FPP4;4:UpQ/TGV8sKSNmeKDqIpTgTvg1t/lPs9m6/3QhgFwhqT7bf2GH/N7CShtwLO1fzIIoMMDiMCxZpwwCYjggAif0K7Yvj9XK1MygTJmbGDj7XZBSDKhCJSU/Zt1FZRLZbS7LgvYqhYYGAJPXSqxwUS/W0GlfRpZTWZ8Ggti70SBspj+DmjwJOgvHTQ2v1CZd2xKPasK9TqNLUcwbd6N44gJq8K8AbnxllPKlM6/BSF/BhJp4PrFCKR4EWDta0TVMayn2z/crxWlZYxGazokzwfT7NOXa68seIJ1ESw+2Ou+o1GRPXX9Ng/zqwU+Urscc2oA X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040501)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(93001095)(3231023)(2400081)(944501161)(6055026)(6041288)(20161123564045)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(6072148)(201708071742011);SRVR:MWHPR12MB1744;BCL:0;PCL:0;RULEID:;SRVR:MWHPR12MB1744; X-Forefront-PRVS: 056297E276 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(366004)(39860400002)(376002)(396003)(346002)(39380400002)(189003)(199004)(6246003)(31686004)(16526018)(36756003)(67846002)(25786009)(58126008)(72206003)(4326008)(64126003)(50466002)(83506002)(2486003)(2906002)(59450400001)(386003)(76176011)(52146003)(52116002)(65806001)(97736004)(6116002)(65956001)(6506007)(23676004)(86362001)(316002)(31696002)(478600001)(26005)(66066001)(3846002)(53546011)(47776003)(305945005)(7736002)(6486002)(6512007)(68736007)(8676002)(81166006)(81156014)(8936002)(65826007)(2950100002)(6666003)(106356001)(230700001)(229853002)(105586002)(53936002)(5890100001)(5660300001)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR12MB1744;H:Suravees-MacBook-Pro-15.local;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjEyTUIxNzQ0OzIzOnJsa2NjYUdHNy9INWpSbXovV1ZKNklhZkQ3?= =?utf-8?B?eURubmRzdTUwOHFWL2pLVkcrUEhXaDQ1T1VubjIxYzVMMkxiZk9VVnE2dnJJ?= =?utf-8?B?QlRuVlhIRElpMjM0SSs0SXJydHlMazFtdGhUR1VrWjhZd3hoTzBzUWVtY1BF?= =?utf-8?B?VjlGdndGT0pWRWw1TWFkSTZaa1k3bm1iNWRtcytldG53cTFiNmlXZnZzVk9G?= =?utf-8?B?T2o3bVUyS2VhdGN3TSsweUxWQ09uQ3Z5QmRXQjEzemQrR1BlandQb2ZSSTJD?= =?utf-8?B?NjZXRVM4WTdmbHZvWmh6Ym9vR2VLM01jSTAyZHltdmNsM1RoNWd1Vm05aWti?= =?utf-8?B?aWFWR2dERlo5RmpjUFhyTW5BRG5mbGF6TFhWRVh3VE0xNTNhYWRCdjNyaTJG?= =?utf-8?B?U2Q5KzFIaFpYWUE4Q3JHdlk3R29iOVdGZ0JLZUNSSFRHZE9xLzVaRUViZ3lP?= =?utf-8?B?a2g5b0JSY3F0ZDVnZTVybUpTVlB6bFZlR05FWnlhaHFyQklIUEY2Z3RPU2E5?= =?utf-8?B?Qm16cGJXaHo1VkVPUHVQTlBPdTBrbUdMbmRXSFRWWk5vUUVoa21WVlZYTVov?= =?utf-8?B?Rjk0RklZUzhhT0pwZ3h1bVNaT2xleDlHNkVmREtMRE9Yb3pydDBGRmZOSFVr?= =?utf-8?B?ZXFWNHdMc0g5ZEVDZGd2MXMrRWhPenFQeHdSVEFHeDBJY0tpTStkb3pidFQ5?= =?utf-8?B?Y2ZtcnJmZGthTkVoRVhobW5sT0lKWlZ2Q0NYWWkzSU00VkFuOEVmTFhiSnpJ?= =?utf-8?B?ZjZQTlRtS2dDT3lVbkdRQklxYWZLUVhIRDBNQXBkUnFoMXJMVnFkbTRnam16?= =?utf-8?B?R01abEJiTExSNDFWWlpJTnlhaUVVVXJRRzlPQlB4NVo4VjJiYzJwRnZDemZo?= =?utf-8?B?ZmxuZm4zS2IwU05CN1pDUDlQYjAzZnUzYWtiYTdJYVcxcDZ0R0Nmd1d5TlFO?= =?utf-8?B?WTRSRERIYTVPSGpmWDZ4cFlXR2lwOGpFV04xdnN2ZFJSbnBnc2tLZXJPbHpY?= =?utf-8?B?OHdGbndvVThEc0hRK1hidURzNjJodXF4RDhTeDFjM3Zub0p0WDF2dU90VllV?= =?utf-8?B?U1hpZHhvNUY1cWhiK1JORktTMlhmMVRVTUlTdFpOZzhlUHNiWm1zVzFMZGtk?= =?utf-8?B?a1pncUt1dnBSaFlKOVpJc2RqNWljcVRiZ21FbWZLc3Y5dTVEZ2JuRmNiU3Uw?= =?utf-8?B?czVGeDRvK0ZkMllScDc1VUx1aWovcWt0V1BqeWVNRjJ6dllWU2dNcmJZbkhr?= =?utf-8?B?b2NXNGRYRFNpUFc1dHJvYkRMclpLRXcxRXB3c3NtZ2tDWlBVbHZ5aUtqOUNB?= =?utf-8?B?OG1jamEvRkRKS2VkQzRvZkg4ZFBVLzM3Q1U3bkhndVpCZUlLbDVzd2dNeUtK?= =?utf-8?B?ZUd2NTZrMXdRYTVxYTVMTHVWVjQ0aU9YaUI0NUpJVGUwTndsZG5OdW0vdHRi?= =?utf-8?B?R1pkdFlYdE80T1RtdW5tbWZpRGlHS0tWd0hNQ0YyNy9Nb3VjRzZiSGtjMjFh?= =?utf-8?B?dG9HdERNYWVEWVZwRlVMUHg5Q1hwOXljMjluWk42OVhsOXNQYjc3MHNYMjZt?= =?utf-8?B?eXMra0xhZGlxZzA0K2I5WUFNOG5ZeWxOWGczakprd2FSNjJYOW9RM3Y2UTha?= =?utf-8?B?empyZ0dDUzlkTDRBUUtNeTlTS1pMWVJKTXRHNGdXTzVrV2Fid1dHZDhwMXRY?= =?utf-8?B?VFQ4YmExWElFcGZYdzFKS1R0SklzcTV5bjQ1S2JaWjU2QlBlZFpyclZLeDZH?= =?utf-8?B?KzRTdVVZdk9FUFRvWnhNT2YrV3RyOG1SU2xreUl1SjlHRUN4Q0JwWlBPMEFv?= =?utf-8?B?emd4ekt6K1pjcFJiellFMUlnWkZxVDF3SEFGMG15bmJXWUM2cHNNK3RkQ3gw?= =?utf-8?B?RVpzK3RhZjlnR2swWkNaVms3dzcrM1lkMW1UYWVCeUNtcUJjRFFuRC9rbTJr?= =?utf-8?B?c2pHaFlJT3ZnPT0=?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1744;6:0xp3Ot8yddKOE8gOMGiHYAEj916PTpuDiJL6BxZCmS/QQ02NLdSVWar3fTWBHAYvsYoiwAOcZROXRPdCrFaCCoypGPU3GHH79NKZ1UeKKIyBj+RZHC95gRf+57PR96//Rikfm6/3QkqQ0Jfa5agWOm/Yk+x68PlyDoLKoOyBXRFZY1xcAFicr8UO6/IV2vLnJQTOhrrkO8fQnXnIb5jS6YDJUtUUefOrElzY9aVnAH4ePYuwNeZIBS1IEszv1CHEjGpVpE7DDe/1hpRzOXu5Egc2swe6rJcPZ3NsMd03eWoJHocg8mzyoJF7whrtwhFUPLBlcst+HBB4Swv6XsUwi1K2L4ecOJpMyC19QKlxrgI=;5:xxvZ1jJ5BVNIsSH1hE6ZEGl012/HJ1z7VTXc5CA1JjYqBRz2tFFJJC+bgEazzJhEMfup0101WtcejsQhSl3849rbK7XeHNPnmskGgI/B2GcDrgRxdHhxscROfVPOV+LPNl2AVkU7yqCOzrhAXvDcq8XnTRgoOjkPFb+pkn38KWo=;24:280BN0pHqcnILZIVyB50eIO9Gvs/k+BQAWH+vX4zBOhqwxNY0WBnVnbFpp2KIwGkdbq8P2FmQLFzo/4WCENlKnHql5c8bk4CW7/Nl4UU8BA=;7:tx4pimuUORnkohK7tO/nCJ/oRbDcR972LN1SzzT8kibueO2V3rcjRK+d9VH8eYc0LtolSZejhleFXl/n0gc5880MRK+qC7aS9d6WU1JOt5E6b8Ya/eTPUZEq4CLL6KeJLowLtmlRTDKFKVinqmLBP36G0PPZKNrItDSgB+B/H5SGOwJCEilcx/lyzJ55uYQixS0rSTgFfTgXuTVb/rvSN5MT88/LveS5J6bFeDSPlqjrjH8/nLIC8cuH9Xd9hc1U SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1744;20:OJqaUx8LEU12bdEkUeyuoSCydQ/UW0YYwxJl5DjeRD6qpJHrXSGNwaj0j5fbB5AoD4I0eLA9g+6VUnuu9tv4NTwK3FQkNYuQWH+kZDlTjX9Sp8pfSPCDka6tpAGNmEGIatCWGTjzDVeDCy7xA5yoBzTT8Lw+/raFGH/4GiZHYamDOP4Rbr0Pm1jyGDtXZ7bd2PIhAatEB7TrRrcFKorZiBJLo8AnKKShzqaNi4tYEktoSmIsJp/77e2e9l39s+b5 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2018 11:43:35.7636 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: eabb540e-b8b8-4cb1-7d55-08d5631fb4eb X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1744 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Joerg, On 12/27/17 4:20 PM, Suravee Suthikulpanit wrote: > Implement the newly added IOTLB flushing interface for AMD IOMMU. > > Signed-off-by: Suravee Suthikulpanit > --- > drivers/iommu/amd_iommu.c | 73 ++++++++++++++++++++++++++++++++++++++++- > drivers/iommu/amd_iommu_init.c | 7 ++++ > drivers/iommu/amd_iommu_types.h | 7 ++++ > 3 files changed, 86 insertions(+), 1 deletion(-) > > diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c > index 7d5eb00..42fe365 100644 > --- a/drivers/iommu/amd_iommu.c > +++ b/drivers/iommu/amd_iommu.c > ... > @@ -3163,6 +3168,69 @@ static bool amd_iommu_is_attach_deferred(struct iommu_domain *domain, > return dev_data->defer_attach; > } > > +static void amd_iommu_flush_iotlb_all(struct iommu_domain *domain) > +{ > + struct protection_domain *dom = to_pdomain(domain); > + > + domain_flush_tlb_pde(dom); > +} I made a mistake here ... > ... > +static void amd_iommu_iotlb_sync(struct iommu_domain *domain) > +{ > + struct protection_domain *pdom = to_pdomain(domain); > + struct amd_iommu_flush_entries *entry, *next; > + unsigned long flags; > + > + /* Note: > + * Currently, IOMMU driver just flushes the whole IO/TLB for > + * a given domain. So, just remove entries from the list here. > + */ > + spin_lock_irqsave(&amd_iommu_flush_list_lock, flags); > + list_for_each_entry_safe(entry, next, &amd_iommu_flush_list, list) { > + list_del(&entry->list); > + kfree(entry); > + } > + spin_unlock_irqrestore(&amd_iommu_flush_list_lock, flags); > + > + domain_flush_tlb_pde(pdom); > +} ... and here where I should also call domain_flush_complete() after domain_flush_tlb_pde(). I'll send out a new version (v3) as a separate patch from the series. Thanks, Suravee