Received: by 2002:ab2:6a05:0:b0:1f8:1780:a4ed with SMTP id w5csp303189lqo; Thu, 9 May 2024 23:26:40 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWZHfGYkj+Aycs58o4Maf2u2NHHUB7jh36QYRjGgXjd+DHO7ZCppYy9YPkncAbxz88Ii3XQmKQecCbmESrIPmo/6o3wH0m+FFgcwjmxIQ== X-Google-Smtp-Source: AGHT+IGZzCDaf5xzG4KZ6pgwiLRD+43TWgr68+dWW4B51UBCVO9Lr50mUNmiwpvaA8vaAeaO9/Gh X-Received: by 2002:a05:6830:1487:b0:6ef:c0f5:366f with SMTP id 46e09a7af769-6f0e92d341bmr1808663a34.36.1715322400389; Thu, 09 May 2024 23:26:40 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1715322400; cv=pass; d=google.com; s=arc-20160816; b=dzP9E46THhifvQnhKAJbBlNVTCiesD4KnBEROKrsX19ja9TOF3aYSyaw3Eq5Or1UIV NNmqf132L/iWQSIEIgRIzDgVxiA7xmEHYrE95fHMvqEmnXkytA3SEVMeZ7vePrDGsE5y YxdfQtu50sfGxblMPYsExLPSSmoVtj1fvlXgmrcghmh+Den6kbfkTdKaNOkY4cbFUC0r c3Lq9Fg6DmI3LYXRh5Q5IDjTdMqJpojZMAXo49MZBRf8oIV4+ZnhE8BZdqPyFnkCEs2f j9T/BnUU4kqYz8f+4KuwbHEvNbgU5TkdJuIjhtDG1yJ1JVdDGvrOFRg0cIqPkznBTkSI L4ng== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:cc:user-agent:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:date:message-id:dkim-signature; bh=YP2v/6uhGZC42VqVWV0OpS5bq0gX9CpVkEzg1lE1xOM=; fh=r4CFKIoF+br4bdFEHkcrhZjrjWdGMvoP0L0rJCwgB7s=; b=wY56NtXQOsx3IiGspV78FP3Pbkqo6TJQUvsZ6woibdXhdC3P3OXjrlJsyjrPzK4iJ4 bsVYIw9kXGkJmSUirxkuGNHea0kuaunTkC+2JbzI68uL4IJchTeEoo1nM2n4Nb2V7OVl E8QXUsX9utvkmcrqmTwiHdHPtDmlja9nCMZY1J53pvcWuoAo6KCuoKn7VYObO+UOjxP+ b3ADtFWyMu9ebKBkupep3Ob3xBKJHjfH+E9gTLr/cY0iePQC+jgXXESITjQt62pvaKpN KCM07j4794aJ1iH871bPgqIWVykrjdtHmyFQxHl89JrKWAG8nKIaIVmTwtpOiuEX2guK Hs4g==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=cwYtapUI; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-175244-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-175244-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id 41be03b00d2f7-63412c36927si2939166a12.748.2024.05.09.23.26.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 May 2024 23:26:40 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-175244-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=cwYtapUI; arc=pass (i=1 dkim=pass dkdomain=intel.com dmarc=pass fromdomain=linux.intel.com); spf=pass (google.com: domain of linux-kernel+bounces-175244-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-175244-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 37581B2238F for ; Fri, 10 May 2024 03:21:54 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C84BE148FFE; Fri, 10 May 2024 03:21:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="cwYtapUI" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B0C3413BAC8 for ; Fri, 10 May 2024 03:21:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=192.198.163.12 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715311307; cv=none; b=pTtqhQfOvZUXKuHHAbq0MrbHiyAaCfZ/cAXUy3jWvcZobwvgDX5jgvWZAD8wo4h9PhqR7aFKdpmP3jthusxsPpXewlam9Klo4YYhYYH2udqpsfR/HhPF1x7uFb3S5ZxWlY9EfOuqHf4CnAb8JTTQ/D7yQbzFFJp8F+xKfa7MKxU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715311307; c=relaxed/simple; bh=fPVJrhZEYUI+SsesiqExa8OII6CVAsM+KT62Fck9Rik=; h=Message-ID:Date:MIME-Version:Cc:Subject:To:References:From: In-Reply-To:Content-Type; b=XWp3e3HyJl2IR+/N3orX0UuzsAMXkUmbSkew+vznCX+/0iSbSRxd19lb+FxQoJ4dzY6peAVkPOQlW5dZbN66zmZYls1JTKG8ekvKthmCbuo+ZkrrkfJE8L4NHTWsSqYrJlSAsenpPezWXrWRjcZSuG6qM4TEFblhMzHbrKe/l4s= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com; spf=none smtp.mailfrom=linux.intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=cwYtapUI; arc=none smtp.client-ip=192.198.163.12 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1715311306; x=1746847306; h=message-id:date:mime-version:cc:subject:to:references: from:in-reply-to:content-transfer-encoding; bh=fPVJrhZEYUI+SsesiqExa8OII6CVAsM+KT62Fck9Rik=; b=cwYtapUIRgOwOvmS38gvP5rJe2sPKgCCzduGze99No588eJ5w30RJL9w 7+L/zSUzdHF5NSVFrAjLkDOJU6f1hRGkZDLiL4I03w86j8sZvBq8FjgYC 1HJISANcYn6l6LrPdxJQrHnsOCsTbKhdLVQKvW22T7wr7n1GOxojHfVWZ uOaPJt2WMoJ5HW4D7H/WGAcS4PX6VagbuqI3wL1EJm21cXbq1R+l2wp0L A7NJGrEIb2dMgnh2T6dwUQ0FK3YXRBXxkYjiY+kdwGkFVLeGZGJXa9ygG wAFcPOFe5Jrx+9458HnCqIFHBnrha2CU0yo/u2Jrkb/sFkzLeNIrCLiiI g==; X-CSE-ConnectionGUID: bNUO8NfQQ5yrMOtxWluUog== X-CSE-MsgGUID: 9TX/Rk4YQF+DZpZX/bRrpg== X-IronPort-AV: E=McAfee;i="6600,9927,11068"; a="15081466" X-IronPort-AV: E=Sophos;i="6.08,149,1712646000"; d="scan'208";a="15081466" Received: from fmviesa010.fm.intel.com ([10.60.135.150]) by fmvoesa106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 May 2024 20:21:45 -0700 X-CSE-ConnectionGUID: eSsYCvnLScGnz0BLJXcK6w== X-CSE-MsgGUID: XpWBGYUJTx2MnxFq6z+pUg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,149,1712646000"; d="scan'208";a="29531328" Received: from unknown (HELO [10.239.159.127]) ([10.239.159.127]) by fmviesa010.fm.intel.com with ESMTP; 09 May 2024 20:21:42 -0700 Message-ID: <065cfc43-b164-4817-9be7-8f37585742ec@linux.intel.com> Date: Fri, 10 May 2024 11:20:01 +0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Cc: baolu.lu@linux.intel.com, Kevin Tian , Joerg Roedel , Will Deacon , Robin Murphy , Jean-Philippe Brucker , Nicolin Chen , Yi Liu , Jacob Pan , Joel Granados , iommu@lists.linux.dev, virtualization@lists.linux-foundation.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v5 6/9] iommufd: Fault-capable hwpt attach/detach/replace To: Jason Gunthorpe References: <20240430145710.68112-1-baolu.lu@linux.intel.com> <20240430145710.68112-7-baolu.lu@linux.intel.com> <20240508001840.GO4718@ziepe.ca> Content-Language: en-US From: Baolu Lu In-Reply-To: <20240508001840.GO4718@ziepe.ca> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 5/8/24 8:18 AM, Jason Gunthorpe wrote: > On Tue, Apr 30, 2024 at 10:57:07PM +0800, Lu Baolu wrote: >> diff --git a/drivers/iommu/iommufd/fault.c b/drivers/iommu/iommufd/fault.c >> index 13125c0feecb..6357229bf3b4 100644 >> --- a/drivers/iommu/iommufd/fault.c >> +++ b/drivers/iommu/iommufd/fault.c >> @@ -15,6 +15,124 @@ >> #include "../iommu-priv.h" >> #include "iommufd_private.h" >> >> +static int iommufd_fault_iopf_enable(struct iommufd_device *idev) >> +{ >> + int ret; >> + >> + if (idev->iopf_enabled) >> + return 0; >> + >> + ret = iommu_dev_enable_feature(idev->dev, IOMMU_DEV_FEAT_IOPF); >> + if (ret) >> + return ret; >> + >> + idev->iopf_enabled = true; >> + >> + return 0; >> +} > I would greatly prefer we remove this from the drivers :\ I guess it > is Ok for now > > Doesn't this need a counter? We can have many fault capable PASIDs? > That will get changed in the PASID series? Okay, let's design this more gracefully after the PASID interfaces are landed. For now, we assume that the device driver will do this. Best regards, baolu