From: Jacob Pan <jacob.jun.pan@linux.intel.com>
To: Baolu Lu <baolu.lu@linux.intel.com>
Cc: LKML <linux-kernel@vger.kernel.org>,
iommu@lists.linux.dev, Jason Gunthorpe <jgg@nvidia.com>,
Joerg Roedel <joro@8bytes.org>,
Robin Murphy <robin.murphy@arm.com>,
Jean-Philippe Brucker <jean-philippe@linaro.com>,
dmaengine@vger.kernel.org, vkoul@kernel.org,
Will Deacon <will@kernel.org>,
David Woodhouse <dwmw2@infradead.org>,
Raj Ashok <ashok.raj@intel.com>,
"Tian, Kevin" <kevin.tian@intel.com>, Yi Liu <yi.l.liu@intel.com>,
"Yu, Fenghua" <fenghua.yu@intel.com>,
Dave Jiang <dave.jiang@intel.com>,
Tony Luck <tony.luck@intel.com>,
"Zanussi, Tom" <tom.zanussi@intel.com>,
rex.zhang@intel.com, xiaochen.shen@intel.com,
narayan.ranganathan@intel.com, jacob.jun.pan@linux.intel.com
Subject: Re: [PATCH v8 2/7] iommu: Move global PASID allocation from SVA to core
Date: Wed, 14 Jun 2023 10:19:49 -0700 [thread overview]
Message-ID: <20230614101949.1164f33f@jacob-builder> (raw)
In-Reply-To: <b5a6a7ad-bfad-b550-f4be-f5ec0679f3d2@linux.intel.com>
Hi Baolu,
On Tue, 13 Jun 2023 11:06:03 +0800, Baolu Lu <baolu.lu@linux.intel.com>
wrote:
> On 6/10/23 8:13 PM, Baolu Lu wrote:
> > On 6/3/23 2:22 AM, Jacob Pan wrote:
> >> +ioasid_t iommu_alloc_global_pasid_dev(struct device *dev)
> >> +{
> >> + int ret;
> >> + ioasid_t max;
> >> +
> >> + max = dev->iommu->max_pasids;
> >> + /*
> >> + * max_pasids is set up by vendor driver based on number of PASID
> >> bits
> >> + * supported but the IDA allocation is inclusive.
> >> + */
> >> + ret = ida_alloc_range(&iommu_global_pasid_ida,
> >> IOMMU_FIRST_GLOBAL_PASID, max - 1, GFP_KERNEL);
> >> + if (ret < 0)
> >> + return IOMMU_PASID_INVALID;
> >> +
> >> + return ret;
> >> +}
> >> +EXPORT_SYMBOL_GPL(iommu_alloc_global_pasid_dev);
> >
> > "dev->iommu->max_pasids == 0" indicates no pasid support on the device.
> > The code should return IOMMU_PASID_INVALID explicitly. Perhaps we can
> > make this function like this:
> >
> > ioasid_t iommu_alloc_global_pasid_dev(struct device *dev)
> > {
> > int ret;
> >
> > if (!dev->iommu->max_pasids)
> > return IOMMU_PASID_INVALID;
> >
> > /*
> > * max_pasids is set up by vendor driver based on number of
> > PASID bits
> > * supported but the IDA allocation is inclusive.
> > */
> > ret = ida_alloc_range(&iommu_global_pasid_ida,
> > IOMMU_FIRST_GLOBAL_PASID,
> > dev->iommu->max_pasids - 1, GFP_KERNEL);
> >
> > return ret < 0 ? IOMMU_PASID_INVALID : ret;
> > }
> > EXPORT_SYMBOL_GPL(iommu_alloc_global_pasid_dev);
> >
> > Other change in this series looks good to me.
> >
> > I hope I can queue this series including above change as part of my VT-d
> > update for v6.5 to Joerg if no objection.
> >
> > Let's try to re-enable this key feature of Intel idxd driver in v6.5.
>
> This series didn't pass my test.
>
> The first time when I run "idxd_ktest.sh -c 1 -t 1 -i 100 -m shared", it
> passed. But when I run it again, the idxd hardware operation resulted in
> timed-out issues.
>
Hmm, not sure what happened. Are you using the out of tree idxd_ktest
kernel module or the dmaengine test sysfs?
e.g.
echo "Config params for DMA test"
echo $1 > /sys/module/dmatest/parameters/iterations
#echo 1 > /sys/module/dmatest/parameters/noverify
echo "" > /sys/module/dmatest/parameters/channel
echo 1 > /sys/module/dmatest/parameters/run
sleep 2
echo 0 > /sys/module/dmatest/parameters/run
echo "Completed!"
It passed my test many iterations for shared
in-kernel DSA test, will get your tree and test again.
Thanks,
Jacob
next prev parent reply other threads:[~2023-06-14 17:15 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-02 18:22 [PATCH v8 0/7] Re-enable IDXD kernel workqueue under DMA API Jacob Pan
2023-06-02 18:22 ` [PATCH v8 1/7] iommu: Generalize PASID 0 for normal DMA w/o PASID Jacob Pan
2023-06-02 18:22 ` [PATCH v8 2/7] iommu: Move global PASID allocation from SVA to core Jacob Pan
2023-06-10 12:13 ` Baolu Lu
2023-06-13 3:06 ` Baolu Lu
2023-06-14 17:19 ` Jacob Pan [this message]
2023-07-11 14:32 ` Jacob Pan
2023-06-02 18:22 ` [PATCH v8 3/7] iommu/vt-d: Add domain_flush_pasid_iotlb() Jacob Pan
2023-06-14 8:16 ` Tian, Kevin
2023-06-02 18:22 ` [PATCH v8 4/7] iommu/vt-d: Remove pasid_mutex Jacob Pan
2023-06-14 8:18 ` Tian, Kevin
2023-06-02 18:22 ` [PATCH v8 5/7] iommu/vt-d: Make prq draining code generic Jacob Pan
2023-06-02 18:22 ` [PATCH v8 6/7] iommu/vt-d: Add set_dev_pasid callback for dma domain Jacob Pan
2023-06-02 18:22 ` [PATCH v8 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=20230614101949.1164f33f@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=jean-philippe@linaro.com \
--cc=jgg@nvidia.com \
--cc=joro@8bytes.org \
--cc=kevin.tian@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=narayan.ranganathan@intel.com \
--cc=rex.zhang@intel.com \
--cc=robin.murphy@arm.com \
--cc=tom.zanussi@intel.com \
--cc=tony.luck@intel.com \
--cc=vkoul@kernel.org \
--cc=will@kernel.org \
--cc=xiaochen.shen@intel.com \
--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.