Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp4577665ybz; Tue, 28 Apr 2020 14:03:43 -0700 (PDT) X-Google-Smtp-Source: APiQypIGuc4j4o4WePxbaF/NE7JuwrCPAaniSZoMJg+VX0bTMdCKCY7KGh8abcWvEhKTBjii2zEL X-Received: by 2002:a17:906:5608:: with SMTP id f8mr27211358ejq.190.1588107823516; Tue, 28 Apr 2020 14:03:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588107823; cv=none; d=google.com; s=arc-20160816; b=rsQKz+X4uD6EQAH5kIrvtHnEJT74MNMQW7RqGs+7rTw5zxbkj3Xr2mp+ZUXPt29jYS DLC9DA9RpbSg854sFxNCAvjOXHDXDzanQa2DWATAHdoqiSu5oPEiPeUOPbR5HTt4C+5j ZcUNKBWCMoG6oAsbZlLS68tZMNYkDTG+GPnme4mOV1pTJWmXoU5LXC/Nmar6QC/xPU6X aHGBh+UHx4wysvtLPfg7NeQa/wBVX0RnJ2V3n1aUMugndto+z8oflzQV5NQHT4Hzwl/w iUhnO4VmtHT5BQxXiartfZkc/kTgqQuz8ETCiWx6q44AaCg02eZnpm6Rmc4sAGtUcaiO PISw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :dlp-reaction:dlp-version:dlp-product:content-language :accept-language:in-reply-to:references:message-id:date:thread-index :thread-topic:subject:cc:to:from:ironport-sdr:ironport-sdr; bh=vI0xQ9RKg3B50Z/GWPMbldHbl1MTBpN0Vls/wka1unc=; b=c7Ovag6llCitxH4XBCZpEKUTcxiHd1WiD33FlLV78jE6kK1Y7f4MHRlwBDsWNsznuZ Xz2sgomXfSV6ZH7at1SFommYid3tbFlk2MHEd7KUYYGbUCB9uSpmML50OuMb/bGe38Ng GbejAoJnz/IzA9cJirrVRTNNtDDdjO5xcpRg/K+kOI3xtbUeyPAaZdhqWx7qgoz0do70 RIJEV41qPtu5AHZzLX8CTNrsTjF4hQR8EZqZRbJ+SBvY/nOAo8uiPBBfMEYMQ/hsk5Rl WNGEOHhTGRgFGQm4p8wNySW8O95Fp7rw+Tcz5vE84ixb1SAtzcM3AviskMdcRfgWc/j+ s0lA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 62si2364287edc.448.2020.04.28.14.03.19; Tue, 28 Apr 2020 14:03:43 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727773AbgD1VAb convert rfc822-to-8bit (ORCPT + 99 others); Tue, 28 Apr 2020 17:00:31 -0400 Received: from mga04.intel.com ([192.55.52.120]:52856 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726885AbgD1U7s (ORCPT ); Tue, 28 Apr 2020 16:59:48 -0400 IronPort-SDR: +oi8F2jbF+Rn0XZkvLUX/fhZtGUKUmPLgSCP0jAITkSNzpG90qKXS2mdyFI2+k49efZWjcd8fD sniB3Gn6i83Q== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Apr 2020 13:59:45 -0700 IronPort-SDR: +Q8PjyVutkue3EcjsUEaFZlOavwMvvK+V+3ei0OrSYFlhTsGbOvqnexFpbIZZpuVkMvs1zSr4N AbzGg5ky6H6g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,328,1583222400"; d="scan'208";a="246628978" Received: from orsmsx105.amr.corp.intel.com ([10.22.225.132]) by orsmga007.jf.intel.com with ESMTP; 28 Apr 2020 13:59:44 -0700 Received: from orsmsx122.amr.corp.intel.com (10.22.225.227) by ORSMSX105.amr.corp.intel.com (10.22.225.132) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 28 Apr 2020 13:59:44 -0700 Received: from orsmsx115.amr.corp.intel.com ([169.254.4.83]) by ORSMSX122.amr.corp.intel.com ([169.254.11.34]) with mapi id 14.03.0439.000; Tue, 28 Apr 2020 13:59:44 -0700 From: "Luck, Tony" To: "Pan, Jacob jun" CC: Thomas Gleixner , "Yu, Fenghua" , Ingo Molnar , Borislav Petkov , H Peter Anvin , David Woodhouse , Lu Baolu , "Hansen, Dave" , "Raj, Ashok" , "Jiang, Dave" , "Mehta, Sohil" , "Shankar, Ravi V" , linux-kernel , x86 , "iommu@lists.linux-foundation.org" Subject: RE: [PATCH 5/7] x86/mmu: Allocate/free PASID Thread-Topic: [PATCH 5/7] x86/mmu: Allocate/free PASID Thread-Index: AQHWBtMgRqn1rM/ldEi9589O6eqhDKiMHSGAgANeKoCAAAkqgP//jPrQgACRMQD//44esA== Date: Tue, 28 Apr 2020 20:59:43 +0000 Message-ID: <3908561D78D1C84285E8C5FCA982C28F7F608EE2@ORSMSX115.amr.corp.intel.com> References: <1585596788-193989-1-git-send-email-fenghua.yu@intel.com> <1585596788-193989-6-git-send-email-fenghua.yu@intel.com> <87pnbus3du.fsf@nanos.tec.linutronix.de> <20200428112113.000033bd@intel.com> <87tv13o306.fsf@nanos.tec.linutronix.de> <3908561D78D1C84285E8C5FCA982C28F7F608BE9@ORSMSX115.amr.corp.intel.com> <20200428134200.000010f7@intel.com> In-Reply-To: <20200428134200.000010f7@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.22.254.140] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org >> So the driver needs to use flush/drain operations to make sure all >> the in-flight work has completed before releasing/re-using the PASID. >> > Are you suggesting we should let driver also hold a reference of the > PASID? The sequence for bare metal is: process is queuing requests to DSA process exits (either deliberately, or crashes, or is killed) kernel does exit processing DSA driver is called as part of tear down of "mm" issues drain/flush commands to ensure that all queued operations on the PASID for this mm have completed PASID can be freed There's a 1:1 map from "mm" to PASID ... so reference counting seems like overkill. Once the kernel is in the "exit" path, we know that no more work can be queued using this PASID. -Tony