Received: by 10.223.148.5 with SMTP id 5csp6066563wrq; Wed, 17 Jan 2018 08:57:08 -0800 (PST) X-Google-Smtp-Source: ACJfBouJZHbNpoMZoU9tiAKt3eqM3sORiCipz162p12rR6E/IyBST2khlupMRBcklWzMhCVJ/q2U X-Received: by 10.84.194.165 with SMTP id h34mr532333pld.265.1516208228048; Wed, 17 Jan 2018 08:57:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516208228; cv=none; d=google.com; s=arc-20160816; b=TvJbOek3DSubv8qrDfubEIRp63RyY5f4grgUPzE5aBR/LQaeY14QirfTqd08tu2/O9 4AdeQfL/tVK7eWCyKOVrsEZMgm407cjBHEiGpuQeNAyphn/xmt2byOZ/FXL78yfX46h1 rDFu24PecuVdfMBEexjiZS69kc4eQXkx9u4/eUFQnQnOHB65ivUv00dled0npu8rLc1N No2Cc2f2v6DX5so42eNcN+imSiI7KY2mup4hxmUbMi1jO08cVh4ngiLWsqWVfjIYhoG7 yF+KvvEvY8Jy/ARL1H/gxZq2R4N42uHq48sNRNHiUW8x7u5otE1k6fTVY4dlLmPefIk7 h0rg== 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=YHKYa6pOtBD0xTCLNWMV5IH6nYDk4SWwchfmg93c5Ao=; b=PCWxuYQ1ubjk0akbB+b672KSZ4E5et/L4xguR/9Gu1w6f6SfiHvw4871SPbVQ+X6qk aDUdVdQu+sUOx1UZLjhMDdYjfrrbSum7Sl2s7MR8AQ3t9kAutkN/aRF7wEKT8+z70uvf 8MucuBMF2kHgeDzgQTQuhQBke/F91+QJY/nzt+p1yDkoh1qLxiBFrDKND+TVYRu8GtgJ NDIeS/w8xx7+4M8ddQuh8glP4cYAXtOAE+ymanR8QsQC8yAO1vyVMfhNHKPwcUh8/lcY xS0Gxzky31ZC9hkHuWedvbAkyrl4mEPGRFyoP1vH3Y4zCvDH/3qzSCWKC9zrQHAgVCwS U9rw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amdcloud.onmicrosoft.com header.s=selector1-amd-com header.b=XeKtpxr/; 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 f12si4122259pga.22.2018.01.17.08.56.53; Wed, 17 Jan 2018 08:57:08 -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=XeKtpxr/; 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 S1754079AbeAQQyw (ORCPT + 99 others); Wed, 17 Jan 2018 11:54:52 -0500 Received: from mail-sn1nam02on0074.outbound.protection.outlook.com ([104.47.36.74]:56303 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753647AbeAQQyu (ORCPT ); Wed, 17 Jan 2018 11:54:50 -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=YHKYa6pOtBD0xTCLNWMV5IH6nYDk4SWwchfmg93c5Ao=; b=XeKtpxr/3cbtbqa/CsIJEmewS7h7r9U/SNcuSpEiqcMFHiFEuuOMJxBypHcS2x7FSoy8IIB07fUJwI99VLFbg7NMy72oHuWi3KTp/SkfpAcLj2OCFZ4ldwwlkFMZ7+dUuYY6uGGonDGt3fihLkThhyD56gKef9Ty5JaQGPjYGks= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Suravee.Suthikulpanit@amd.com; Received: from Suravees-MacBook-Pro-15.local (110.169.70.58) by MWHPR12MB1743.namprd12.prod.outlook.com (10.175.55.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.407.7; Wed, 17 Jan 2018 16:54:47 +0000 Subject: Re: [RFC PATCH v2 1/2] vfio/type1: Adopt fast IOTLB flush interface when unmap IOVAs To: Alex Williamson Cc: iommu@lists.linux-foundation.org, jroedel@suse.de, linux-kernel@vger.kernel.org References: <1514366435-12723-1-git-send-email-suravee.suthikulpanit@amd.com> <1514366435-12723-2-git-send-email-suravee.suthikulpanit@amd.com> <20180108135329.3c1e2c88@t450s.home> <20180108140718.5ce48492@t450s.home> From: Suravee Suthikulpanit Message-ID: <966d7407-d91f-f652-454d-bbda263567ba@amd.com> Date: Wed, 17 Jan 2018 23:54:40 +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: <20180108140718.5ce48492@t450s.home> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [110.169.70.58] X-ClientProxiedBy: CY4PR2201CA0003.namprd22.prod.outlook.com (10.171.208.141) To MWHPR12MB1743.namprd12.prod.outlook.com (10.175.55.14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 5c09b3da-8c5d-40c5-9bba-08d55dcb0516 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(2017052603307)(7153060)(7193020);SRVR:MWHPR12MB1743; X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1743;3:9vuUyQ2L5cKeS5KOzHByF1I22ffJikyH4p4DlqmWLrEK6ZW6DHZV2f7R3M5wD3juf8+eiFiqgn2AAL/WRpXEkdA42FRCPBSqtI0Lmq3kpk6x7uxwn05Ty85VOiKR28s2Kd4lV1/upZNyyjkHPCF4iVvc/1VZJVh0mmjNstVtqRQRY0f1rfwRci3y6km3ApsaEq7ntbQcUIuUBhSBce8nEDDZX4n4vJ6M9r3nbLg4Wiu9sJZ1JcdqOIunS5uEatTe;25:3uZHUKsgS3JsJkK3BkXiqqfLqoABfL5IEBnQckRFBUhy8MnePMwCVLvSMTaUebnXBBhTuYg1YnIipIGoVDvSTrWa5rKbzUNAIzbftvYmSObXv3F1NA3lurLc9DF3i+GiB7zebKUF8xhodD9v4P2L/NzN3pTDDkzDhCms+uGj3fOPiarTU9fqpIOZnqL+WZGbTGx5vQZjvSg+0y/w6/Z6Px9Bkau5UQrw0hSEimDZ1lrM4SL9LsjtcoeezDeV7+srqv6eXJqh53MyYaNyRUyv8ADEBvdXguIouMx2f7eNCI+DxzCEwYN57cL90S2ZdbXBhv1yJeeQMJEJMcL7AisC9Q==;31:V8RrJMqk2nXwxLhAiRiGRbR59ywj777ODRKZcYq5J+xUGnQdgooX6mxf7pjtaomx+7+flFY6JTL2kJCRBSPLx34g373inU2+6/b9Vdff1+RG3T9DONm+4fQ/2tcWhRHHDjA2X9B7pZHrNAGo7RLumHNWx6rWSmKPgS0isizwmfqxZWKhaKTJQS9FF6W4lbphg809tZfnGF8wLeEHg27Wq41C0rll5gAZqUV3fJVsa30= X-MS-TrafficTypeDiagnostic: MWHPR12MB1743: X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1743;20:BwjfQSj9L71UiKXvlx7i+n89uEapfrE2flbrJormoGJZlxZSgGc/hYfFSBBwADpTLQ168dJkIXPJAqAm9FNLDf4PHjQIBHdRFIZBs0+clTe0ASiuhFpHvQy07+AmUbjITm/2I7mzHwpfQlQjEpl4nPpqVW2kqOhaEKiaAKk6iRhInn5Zz1Cc6PSQPz5aRwIEwvq/N2ERa+4k/tUcnQNBsEWsC1Sw+ga6X0eMPxoQ0qTOouDoS/iVPW0W9FqyF4X/0bf2Dab58rcUA6Nfx5sEIe/pgdsf9ejGiQRqxMEQVbY4xIGwXQnXv5fYYQQg7SMSb1osbxnMc8aarqbplh+aTin2XSjBZa9DgeKZs4Dq0r3Zyd5SUw+g3g2c9MG5DcdYMtlszJJX9SNgA8noEUAGxIRJH7Pb8umvN9m78Q7+OxZODq7fRxLGi3fpGJKcM4J7eILTnvkwSzYEkV5d0nPjosUXVM6csQxTfiBHzE29Zz/bEw8YB21+j1do8zQ2i0F4;4:WGOZxZawrGGP2bU9LD1qiG4ZmqalKaZjhx3QKK4Un4bo5K2ITSfevNsx+5JQVCxZAwUzBqWeyJ+jBwSy+8K0fd70y5wzT0FkE9toAeE+7PK6YK8isytmyvH3VNbuZdjSWi23YA72UdQ4hgAe6TfoWauu/SGOaGh7k/Trz88sSlDvzhW1zuzOlgtyVp4alzUT7kmvRKG7pZ0Sg3uhTuaiX7MgcVpZTwMaycbPrQ1V/hWX4haqcsZylkvh1VDpnIhp17X/Tk+1U0HE2ddT35u+eQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040470)(2401047)(8121501046)(5005006)(3002001)(3231023)(944501161)(93006095)(93001095)(10201501046)(6055026)(6041268)(20161123560045)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(6072148)(201708071742011);SRVR:MWHPR12MB1743;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:MWHPR12MB1743; X-Forefront-PRVS: 0555EC8317 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(396003)(376002)(366004)(39380400002)(39860400002)(346002)(24454002)(189003)(199004)(53546011)(86362001)(386003)(23676004)(67846002)(65806001)(478600001)(53936002)(52146003)(72206003)(47776003)(65956001)(7736002)(36756003)(81156014)(8936002)(4326008)(81166006)(2486003)(68736007)(25786009)(66066001)(8676002)(76176011)(6116002)(3846002)(52116002)(305945005)(2906002)(5660300001)(65826007)(58126008)(50466002)(229853002)(97736004)(230700001)(106356001)(105586002)(6506007)(6486002)(6512007)(64126003)(6246003)(31696002)(2950100002)(31686004)(6916009)(6666003)(83506002)(16526018)(316002)(26005)(93886005)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR12MB1743;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?MTtNV0hQUjEyTUIxNzQzOzIzOmovNXlFanVueFdRTUsvUWY5RGhvakg2TVln?= =?utf-8?B?cHVwL2orVFZVeWg3RG40WVZKTW13SEZZalNNUkVneFl4WW1DNGJYS1pZeWdL?= =?utf-8?B?azdCRVZaMTNad3N0a09aYldQZnNkamthZm80c3hoNDUrSDFtUjdybmtES3Mz?= =?utf-8?B?T0RpREJsdUN2RmNIc2hZbzdReWxUZ1FVL2M2SzA4VkpMT3kvSm9SMkxLV0lF?= =?utf-8?B?TlVlYm9yQ1RSZkovOWN4aW9ZajZsai9CK1hFREFDWmZITkxkSGFHVVoxbDBp?= =?utf-8?B?azFaSnNyYmkvZnlITDRSZ004WVpvWnEzVWszbUJMOUtmTXg1Z1FkYWZzS3dq?= =?utf-8?B?aUtzL3duL1NLRnhNRDdiL1lxY2NHUE1CK3BOeGUwbmlkUVRWQm5kRStXOGVB?= =?utf-8?B?OWxlTjF6a2sxSnRVMmdWdS9MbzdTcndnVTN4OWdNZlhGUVdjVmFFRWZDNlJi?= =?utf-8?B?M0tldjlacmluVkxoaVdhTXF1TnY1Q0YxSEVuYStxY2s2MENIeHh4Z2hJempj?= =?utf-8?B?c0cvNm40cVdLUXRFNHNJajQxVnhlbzFyTzNZQlNnV01SeVNXSlQ3K29Idjgv?= =?utf-8?B?bHMyaXF0UDRjeWJvN1lHanU2REFnNi83aXBpWlhNSjJORTQvVjh0Um0zYnpU?= =?utf-8?B?RERNN1BPa0VjMUJhNnBsL04wUHRUS0pod3h5SFpraGxJSnlCSDhRQVhpdkhj?= =?utf-8?B?WDZUU2YwZldVMGFiRTVMNzdaNWhROUtPaHhtN0NsaGhhMHhkNkVJZm1aNWJz?= =?utf-8?B?MzQvdGVKT1ZRYTRNaFVFc0VLV3h6dFgxWnY5NVhFS1BBUWFtQW5zbFRtSmRt?= =?utf-8?B?S1R1QUZoT1haWWFkcE5PMmlxV3RCL0hkUWRka0FXN1RuRDZhdzh1SEpGeDN3?= =?utf-8?B?NzJrSEpueDhCdE04RENxbEw0MkRsWnBXQ1lXRUlJZFhVbGRMSW41Y094NjQ2?= =?utf-8?B?TXVRUlBnNGtRUHh4SDlTVGN2NU9vUHlIK1hmUFpsdEI4eVdudEdRSFRHeWNP?= =?utf-8?B?UTIwUmFuQTJLeUU4WEU1eURneU5RTmVxdnVOdUJFR1NsL29XaGc4c3Ywc2h3?= =?utf-8?B?RENmeUhGQjlpQU1yUGU1NnRiU1JMem1MRmZ0aEtLbG1rbnhhbU5tb2xNQmtX?= =?utf-8?B?OWwxV1Vrd1EveVlSVWhQcFFCVmZOSENCVWI3RldlQ2cwKzY3Z2tTMWtVQnV3?= =?utf-8?B?Rmh6QkU0RGNXcjlMTngzY2IzaTdFNEs5ajJOTnFnMEpzM0MxRWdxQXhkZGEw?= =?utf-8?B?Qld5RW5WWjZEaEU4ZWQzWGVWR1U1MnhiZEFDYS9VK24vazhXSWFnQUtSckpq?= =?utf-8?B?eTVEU3lZVnV2ZUxqWHQ0dWZ1K3NzNkF4ajJsRUQ2ZnNSek5RbTg1QW1SeXNQ?= =?utf-8?B?eUhiWW52NHFGNWFDclFManlMaFhadDc4WmZEUExYQUZqZ3pSR1VUOUNRUk5M?= =?utf-8?B?K25vTXJieWExelpsNnFrN3M1U3hJNmg5MVZEVi80WGtoSGZteUZMNDZaWjRL?= =?utf-8?B?SXBrdklhanFHTWtTWThjSWhvSm9qMmRRdFlsdzkyUkFUSlFkL0hIYmNLTWpm?= =?utf-8?B?OXZHNGJpMUV1azlLS24vb0VTbkdCbFljNWM4bnNxd0pYMnBvcjBrQ0ZuVHhp?= =?utf-8?B?Q2FRZld5SWp1OGpiOFRXbi91WVZZeXhGcXB0Z3VhQ1h1RjhsSVc5UmVjQ2kx?= =?utf-8?B?eStGSUJXWDdPMk9TL08rTUhUSmRTTWVxamxWM1NzQVVyN1JwSUt1SFNRa2FL?= =?utf-8?B?R2hlUGdpR29uZEJxR29tOVN0UXdhTyt3UnVnSDR1TDlhL1paejZNWHcvSnhm?= =?utf-8?B?eHppdUZoVkVIdUNwOXJIWnhWQ1RzYzJPazdOdG5HSE1Gd2ZwUGJMazhBMXQ2?= =?utf-8?B?UVc5OWw4dlJXK2EyTDY0cE1vUXNLdEJTQkEwTkU1N3Z1MGYyVU5vd2hvYll5?= =?utf-8?B?eVlpRHEyRHd3PT0=?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1743;6:wMbtit5L+t3Q54BM8JtgMo4MvYbkqB6FXJjxiVwV3MYm5fOFybGNXh7ceE/2/cjxHuZVwjkmKCB/27+dwNqljXJsZpDqtouTC9QPKQFaXst37vW/xzhtPiNDvtgQvpsGstFqZppbgtGbI9uMxZ5ro3Noi3XBGNh4oLbF3aJYutw+ieUTUNZiQIMtNrjSepydG49MXrFwx/xIdRrqGF9TB+zjazRz52a5rADpENFTTclvo5YKn/X9OK8SXrsQgdZVFuNhbaiZW3YLniRBPa3GAtu5+ATXcyxvITn2EWMbjlvbje1+Wu8veRu754hTUsvqxH8pvJJp7UrNzV97BlxLrcUFOMQXxsy1W5IX43m+VJQ=;5:oLAhBG3rcBjJSugVHSaRiWHkRLPGEfP+ydJJg/jIHdCjeNAnkDzp3vWDUgZx07A9XWxJL0sU1C5yoz1ekEXf1YVCwJ7FbrhPJL6/x4uarWyyXd+TE+JcbEHNCTtROJMW24PJFDxK3s6ojHSIoGdR099k+zBXda2EkYSE6S3l7OM=;24:M+tR1uqbI18KZM9SVmP3CmsadFTzz7qCSQu71huQOPG+RXjSRASCm0rOEkp8jcgFQUVXwjAtS+gH0MgN4RGzWB6hetpB9TvG/aTJQjpRdRQ=;7:8v7NAg6mmN9Jf+rdqmmPqOXb6Uo/XCGBxhBqsLZk+yZxJ5R6Vy420ndB4vb5U0MZykuja1rsZ8IVr3/COXiLe/TRCF438lmFz/pU32eMStBAzuwuZyfXvYWS7S0V6Z8PQIk0f22s7iYvzKlcGcIeeDZsOpPksivO5hYFWa1q5YahpddCY2pcXVUuU6x5PqAnPkN9H+mwGswg6ciO+0erO9tom/SLfB+3XT849llGVPZjZqum+kcL11JexokD1h/R SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1743;20:0CkO+iuy3l3w/hUIGyjZBYKnqtF3xZyyGBoR8ILdgEvNVZZCnSQqiJOAdFNAT5/PP2uKhcv2dfo7mQR+/ZXg6WRSa+CfOe52dHz2UZjFJ5RmX/OlATcTwoJi1shq2MwBFdEuAz+4ku6m8w9BGaB6Rv2hwicl5gXbNR3ZUjIhMIRE7TrEJhdFFMjHisAfRG7rTgLOZ7TWiZygNGCuudMnVxdEeiTlDuanfJEivhtPeZ3nN1vsP1SbbtwmvfXDfUsu X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jan 2018 16:54:47.1655 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5c09b3da-8c5d-40c5-9bba-08d55dcb0516 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1743 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Alex, On 1/9/18 4:07 AM, Alex Williamson wrote: >>> @@ -661,6 +705,8 @@ static long vfio_unmap_unpin(struct vfio_iommu *iommu, struct vfio_dma *dma, >>> if (!IS_IOMMU_CAP_DOMAIN_IN_CONTAINER(iommu)) >>> return 0; >>> >>> + INIT_LIST_HEAD(&unmapped_regions); >>> + >>> /* >>> * We use the IOMMU to track the physical addresses, otherwise we'd >>> * need a much more complicated tracking system. Unfortunately that >>> @@ -698,24 +744,36 @@ static long vfio_unmap_unpin(struct vfio_iommu *iommu, struct vfio_dma *dma, >>> break; >>> } >>> >>> - unmapped = iommu_unmap(domain->domain, iova, len); >>> - if (WARN_ON(!unmapped)) >>> + entry = kzalloc(sizeof(*entry), GFP_KERNEL); >>> + if (!entry) >>> break; > > Turns out this nagged at me a bit too, this function only gets called > once to dump the vfio_dma, so bailing out here leaves pages pinned and > IOMMU mappings in place, for a performance optimization that we could > just skip. We could sync&unpin anything collected up to this point and > continue this step with a synchronous unmap/unpin. Thanks, Ah, that's an over look in my part also. Thanks for catching this. I'll implement the fallback mechanism per your suggestion in v3. Thanks, Suravee