All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jacob Pan <jacob.jun.pan@linux.intel.com>
To: Baolu Lu <baolu.lu@linux.intel.com>
Cc: "Tian, Kevin" <kevin.tian@intel.com>,
	LKML <linux-kernel@vger.kernel.org>,
	"iommu@lists.linux.dev" <iommu@lists.linux.dev>,
	Robin Murphy <robin.murphy@arm.com>,
	Jason Gunthorpe <jgg@nvidia.com>, Joerg Roedel <joro@8bytes.org>,
	"dmaengine@vger.kernel.org" <dmaengine@vger.kernel.org>,
	"vkoul@kernel.org" <vkoul@kernel.org>,
	Will Deacon <will@kernel.org>,
	David Woodhouse <dwmw2@infradead.org>,
	"Raj, Ashok" <ashok.raj@intel.com>,
	"Liu, Yi L" <yi.l.liu@intel.com>,
	"Yu, Fenghua" <fenghua.yu@intel.com>,
	"Jiang, Dave" <dave.jiang@intel.com>,
	"Luck, Tony" <tony.luck@intel.com>,
	"Zanussi, Tom" <tom.zanussi@intel.com>,
	jacob.jun.pan@linux.intel.com
Subject: Re: [PATCH v4 3/7] iommu: Support allocation of global PASIDs outside SVA
Date: Tue, 18 Apr 2023 16:04:50 -0700	[thread overview]
Message-ID: <20230418160450.4ea7fb7d@jacob-builder> (raw)
In-Reply-To: <a1a82bc0-9a7a-5363-cda8-a0226eff0073@linux.intel.com>

Hi Baolu,

On Tue, 18 Apr 2023 10:06:12 +0800, Baolu Lu <baolu.lu@linux.intel.com>
wrote:

> On 4/18/23 12:46 AM, Jacob Pan wrote:
> > On Wed, 12 Apr 2023 09:37:48 +0800, Baolu Lu<baolu.lu@linux.intel.com>
> > wrote:
> >   
> >> On 4/11/23 4:02 PM, Tian, Kevin wrote:  
> >>>> From: Jacob Pan<jacob.jun.pan@linux.intel.com>
> >>>> Sent: Saturday, April 8, 2023 2:06 AM
> >>>> @@ -28,8 +26,8 @@ static int iommu_sva_alloc_pasid(struct mm_struct
> >>>> *mm, ioasid_t min, ioasid_t ma
> >>>>    		goto out;
> >>>>    	}
> >>>>
> >>>> -	ret = ida_alloc_range(&iommu_global_pasid_ida, min, max,
> >>>> GFP_KERNEL);
> >>>> -	if (ret < min)
> >>>> +	ret = iommu_alloc_global_pasid(min, max);  
> >>> I wonder whether this can take a device pointer so
> >>> dev->iommu->max_pasids is enforced inside the alloc function.  
> >> Agreed. Instead of using the open code, it looks better to have a
> >> helper like dev_iommu_max_pasids().  
> > yes, probably export dev_iommu_get_max_pasids(dev)?
> > 
> > But if I understood Kevin correctly, he's also suggesting that the
> > interface should be changed to iommu_alloc_global_pasid(dev), my
> > concern is that how do we use this function to reserve RID_PASID which
> > is not specific to a device?  
> 
> Probably we can introduce a counterpart dev->iommu->min_pasids, so that
> there's no need to reserve the RID_PASID. At present, we can set it to 1
> in the core as ARM/AMD/Intel all treat PASID 0 as a special pasid.
> 
> In the future, if VT-d supports using arbitrary number as RID_PASID for
> any specific device, we can call iommu_alloc_global_pasid() for that
> device.
> 
> The device drivers don't know and don't need to know the range of viable
> PASIDs, so the @min, @max parameters seem to be unreasonable.
Sure, that is reasonable. Another question is whether global PASID
allocation is always for a single device, if not I prefer to keep the
current iommu_alloc_global_pasid() and add a wrapper
iommu_alloc_global_pasid_dev(dev) to extract the @min, @max. OK?


Thanks,

Jacob

  reply	other threads:[~2023-04-18 23:00 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-07 18:05 [PATCH v4 0/7] Re-enable IDXD kernel workqueue under DMA API Jacob Pan
2023-04-07 18:05 ` [PATCH v4 1/7] iommu/vt-d: Use non-privileged mode for all PASIDs Jacob Pan
2023-04-07 18:05 ` [PATCH v4 2/7] iommu/vt-d: Remove PASID supervisor request support Jacob Pan
2023-04-07 18:05 ` [PATCH v4 3/7] iommu: Support allocation of global PASIDs outside SVA Jacob Pan
2023-04-10  1:34   ` Baolu Lu
2023-04-11  8:02   ` Tian, Kevin
2023-04-12  1:37     ` Baolu Lu
2023-04-17 16:46       ` Jacob Pan
2023-04-18  2:06         ` Baolu Lu
2023-04-18 23:04           ` Jacob Pan [this message]
2023-04-19  2:40             ` Baolu Lu
2023-04-19 21:05               ` Jacob Pan
2023-04-17 16:07     ` Jacob Pan
2023-04-07 18:05 ` [PATCH v4 4/7] iommu/vt-d: Reserve RID_PASID from global PASID space Jacob Pan
2023-04-10  1:59   ` Baolu Lu
2023-04-17 16:36     ` Jacob Pan
2023-04-07 18:05 ` [PATCH v4 5/7] iommu/vt-d: Make device pasid attachment explicit Jacob Pan
2023-04-10  2:46   ` Baolu Lu
2023-04-10  3:14     ` Baolu Lu
2023-04-18 21:32     ` Jacob Pan
2023-04-19  2:26       ` Baolu Lu
2023-04-07 18:05 ` [PATCH v4 6/7] iommu/vt-d: Implement set_dev_pasid domain op Jacob Pan
2023-04-07 18:05 ` [PATCH v4 7/7] dmaengine/idxd: Re-enable kernel workqueue under DMA API Jacob Pan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230418160450.4ea7fb7d@jacob-builder \
    --to=jacob.jun.pan@linux.intel.com \
    --cc=ashok.raj@intel.com \
    --cc=baolu.lu@linux.intel.com \
    --cc=dave.jiang@intel.com \
    --cc=dmaengine@vger.kernel.org \
    --cc=dwmw2@infradead.org \
    --cc=fenghua.yu@intel.com \
    --cc=iommu@lists.linux.dev \
    --cc=jgg@nvidia.com \
    --cc=joro@8bytes.org \
    --cc=kevin.tian@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=tom.zanussi@intel.com \
    --cc=tony.luck@intel.com \
    --cc=vkoul@kernel.org \
    --cc=will@kernel.org \
    --cc=yi.l.liu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.