All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgg@nvidia.com>
To: Alex Williamson <alex.williamson@redhat.com>
Cc: Yi Liu <yi.l.liu@intel.com>,
	joro@8bytes.org, kevin.tian@intel.com, robin.murphy@arm.com,
	cohuck@redhat.com, eric.auger@redhat.com, nicolinc@nvidia.com,
	kvm@vger.kernel.org, mjrosato@linux.ibm.com,
	chao.p.peng@linux.intel.com, yi.y.sun@linux.intel.com,
	peterx@redhat.com, jasowang@redhat.com,
	shameerali.kolothum.thodi@huawei.com, lulu@redhat.com,
	suravee.suthikulpanit@amd.com, iommu@lists.linux.dev,
	linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org,
	baolu.lu@linux.intel.com
Subject: Re: [PATCH 2/6] iommu/vt-d: Implement hw_info for iommu capability query
Date: Fri, 10 Feb 2023 20:15:49 -0400	[thread overview]
Message-ID: <Y+beNa5LXUvZSaEb@nvidia.com> (raw)
In-Reply-To: <20230210154410.2b3b8296.alex.williamson@redhat.com>

On Fri, Feb 10, 2023 at 03:44:10PM -0700, Alex Williamson wrote:
> On Wed,  8 Feb 2023 20:16:38 -0800
> Yi Liu <yi.l.liu@intel.com> wrote:
> 
> > From: Lu Baolu <baolu.lu@linux.intel.com>
> > 
> > To support nested translation in the userspace, it should check the
> > underlying hardware information for the capabilities.
> > 
> > Add intel_iommu_hw_info() to report cap_reg and ecap_reg information.
> > 
> > Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
> > Signed-off-by: Yi Liu <yi.l.liu@intel.com>
> > Signed-off-by: Nicolin Chen <nicolinc@nvidia.com>
> > Signed-off-by: Yi Sun <yi.y.sun@linux.intel.com>
> > ---
> >  drivers/iommu/intel/iommu.c  | 19 +++++++++++++++++++
> >  drivers/iommu/intel/iommu.h  |  1 +
> >  include/uapi/linux/iommufd.h | 21 +++++++++++++++++++++
> >  3 files changed, 41 insertions(+)
> > 
> > diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
> > index 59df7e42fd53..929f600cc350 100644
> > --- a/drivers/iommu/intel/iommu.c
> > +++ b/drivers/iommu/intel/iommu.c
> > @@ -4760,8 +4760,26 @@ static void intel_iommu_remove_dev_pasid(struct device *dev, ioasid_t pasid)
> >  	intel_pasid_tear_down_entry(iommu, dev, pasid, false);
> >  }
> >  
> > +static void *intel_iommu_hw_info(struct device *dev, u32 *length)
> > +{
> > +	struct device_domain_info *info = dev_iommu_priv_get(dev);
> > +	struct intel_iommu *iommu = info->iommu;
> > +	struct iommu_device_info_vtd *vtd;
> > +
> > +	vtd = kzalloc(sizeof(*vtd), GFP_KERNEL);
> > +	if (!vtd)
> > +		return ERR_PTR(-ENOMEM);
> > +
> > +	vtd->cap_reg = iommu->cap;
> > +	vtd->ecap_reg = iommu->ecap;
> 
> Just a friendly reminder that these registers are already exposed to
> userspace under /sys/class/iommu/ and each device has an iommu link
> back to their iommu device there. 

I think in cases of mdevs w/ PASID (eg SIOV) it is not general to get
from vfio sysfs to the sysfs path for the iommu.

> This series doesn't really stand on its own without some discussion
> of why that interface is not sufficient for this use case.

IMHO I don't really like the idea of mixing iommufd with sysfs, it
should stand on its own.

In particular there is no generic way to go from a iommufd dev_id to
any sysfs path, userspace would need prior unique knowledge about the
subsystem that is being bound to iommufd first.

So, I think some of those explanations would be good in the commit
message?

I would also add explanation about what userspace is supposed to do
with these bits when it operates the nesting feature.

Jason

  reply	other threads:[~2023-02-11  0:15 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-09  4:16 [PATCH 0/6] iommufd: Add iommu capability reporting Yi Liu
2023-02-09  4:16 ` [PATCH 1/6] iommu: Add new iommu op to get iommu hardware information Yi Liu
2023-02-10  7:28   ` Tian, Kevin
2023-02-11  3:38     ` Baolu Lu
2023-02-11  3:42     ` Baolu Lu
2023-02-13  1:54       ` Tian, Kevin
2023-02-13  2:36   ` Binbin Wu
2023-02-13  8:46     ` Baolu Lu
2023-02-09  4:16 ` [PATCH 2/6] iommu/vt-d: Implement hw_info for iommu capability query Yi Liu
2023-02-10  7:32   ` Tian, Kevin
2023-02-11  3:45     ` Baolu Lu
2023-02-10 22:44   ` Alex Williamson
2023-02-11  0:15     ` Jason Gunthorpe [this message]
2023-02-13  3:09   ` Binbin Wu
2023-02-13  8:48     ` Baolu Lu
2023-02-13 14:51   ` Jason Gunthorpe
2023-02-09  4:16 ` [PATCH 3/6] iommufd: Add IOMMU_DEVICE_GET_INFO Yi Liu
2023-02-10  7:55   ` Tian, Kevin
2023-02-10 11:10     ` Joao Martins
2023-02-10 20:58       ` Jason Gunthorpe
2023-02-10 20:59     ` Jason Gunthorpe
2023-02-13  2:04       ` Tian, Kevin
2023-02-09  4:16 ` [PATCH 4/6] iommufd/device: Add mock_device support in iommufd_device_get_info() Yi Liu
2023-02-09  4:16 ` [PATCH 5/6] iommufd/selftest: Set iommu_device for mock_device Yi Liu
2023-02-09  4:16 ` [PATCH 6/6] iommufd/selftest: Add coverage for IOMMU_DEVICE_GET_INFO ioctl Yi Liu
2023-02-22 21:07 ` [PATCH 0/6] iommufd: Add iommu capability reporting Jason Gunthorpe

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=Y+beNa5LXUvZSaEb@nvidia.com \
    --to=jgg@nvidia.com \
    --cc=alex.williamson@redhat.com \
    --cc=baolu.lu@linux.intel.com \
    --cc=chao.p.peng@linux.intel.com \
    --cc=cohuck@redhat.com \
    --cc=eric.auger@redhat.com \
    --cc=iommu@lists.linux.dev \
    --cc=jasowang@redhat.com \
    --cc=joro@8bytes.org \
    --cc=kevin.tian@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=lulu@redhat.com \
    --cc=mjrosato@linux.ibm.com \
    --cc=nicolinc@nvidia.com \
    --cc=peterx@redhat.com \
    --cc=robin.murphy@arm.com \
    --cc=shameerali.kolothum.thodi@huawei.com \
    --cc=suravee.suthikulpanit@amd.com \
    --cc=yi.l.liu@intel.com \
    --cc=yi.y.sun@linux.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.