All of lore.kernel.org
 help / color / mirror / Atom feed
From: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
To: Lu Baolu <baolu.lu@linux.intel.com>
Cc: "David Woodhouse" <dwmw2@infradead.org>,
	"Joerg Roedel" <joro@8bytes.org>,
	iommu@lists.linux-foundation.org,
	intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	"Michał Wajdeczko" <michal.wajdeczko@intel.com>,
	"Janusz Krzysztofik" <janusz.krzysztofik@linux.intel.com>
Subject: Re: [RFC PATCH] iommu/vt-d: Fix IOMMU field not populated on device hot re-plug
Date: Tue, 03 Sep 2019 09:41:23 +0200	[thread overview]
Message-ID: <2674326.ZPvzKFr69O@jkrzyszt-desk.ger.corp.intel.com> (raw)
In-Reply-To: <52fbfac9-c879-4b45-dd74-fafe62c2432b@linux.intel.com>

Hi Baolu,

On Tuesday, September 3, 2019 3:29:40 AM CEST Lu Baolu wrote:
> Hi Janusz,
> 
> On 9/2/19 4:37 PM, Janusz Krzysztofik wrote:
> >> I am not saying that keeping data is not acceptable. I just want to
> >> check whether there are any other solutions.
> > Then reverting 458b7c8e0dde and applying this patch still resolves the 
issue
> > for me.  No errors appear when mappings are unmapped on device close after 
the
> > device has been removed, and domain info preserved on device removal is
> > successfully reused on device re-plug.
> 
> This patch doesn't look good to me although I agree that keeping data is
> acceptable. It updates dev->archdata.iommu, but leaves the hardware
> context/pasid table unchanged. This might cause problems somewhere.
> 
> > 
> > Is there anything else I can do to help?
> 
> Can you please tell me how to reproduce the problem? 

The most simple way to reproduce the issue, assuming there are no non-Intel 
graphics adapters installed, is to run the following shell commands:

#!/bin/sh
# load i915 module
modprobe i915
# open an i915 device and keep it open in background
cat /dev/dri/card0 >/dev/null &
sleep 2
# simulate device unplug
echo 1 >/sys/class/drm/card0/device/remove
# make the background process close the device on exit
kill $!

Thanks,
Janusz


> Keeping the per
> device domain info while device is unplugged is a bit dangerous because
> info->dev might be a wild pointer. We need to work out a clean fix.
> 
> > 
> > Thanks,
> > Janusz
> > 
> 
> Best regards,
> Baolu
> 





WARNING: multiple messages have this Message-ID (diff)
From: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
To: Lu Baolu <baolu.lu@linux.intel.com>
Cc: linux-kernel@vger.kernel.org, iommu@lists.linux-foundation.org,
	"Janusz Krzysztofik" <janusz.krzysztofik@linux.intel.com>,
	"David Woodhouse" <dwmw2@infradead.org>,
	intel-gfx@lists.freedesktop.org,
	"Michał Wajdeczko" <michal.wajdeczko@intel.com>
Subject: Re: [RFC PATCH] iommu/vt-d: Fix IOMMU field not populated on device hot re-plug
Date: Tue, 03 Sep 2019 09:41:23 +0200	[thread overview]
Message-ID: <2674326.ZPvzKFr69O@jkrzyszt-desk.ger.corp.intel.com> (raw)
In-Reply-To: <52fbfac9-c879-4b45-dd74-fafe62c2432b@linux.intel.com>

Hi Baolu,

On Tuesday, September 3, 2019 3:29:40 AM CEST Lu Baolu wrote:
> Hi Janusz,
> 
> On 9/2/19 4:37 PM, Janusz Krzysztofik wrote:
> >> I am not saying that keeping data is not acceptable. I just want to
> >> check whether there are any other solutions.
> > Then reverting 458b7c8e0dde and applying this patch still resolves the 
issue
> > for me.  No errors appear when mappings are unmapped on device close after 
the
> > device has been removed, and domain info preserved on device removal is
> > successfully reused on device re-plug.
> 
> This patch doesn't look good to me although I agree that keeping data is
> acceptable. It updates dev->archdata.iommu, but leaves the hardware
> context/pasid table unchanged. This might cause problems somewhere.
> 
> > 
> > Is there anything else I can do to help?
> 
> Can you please tell me how to reproduce the problem? 

The most simple way to reproduce the issue, assuming there are no non-Intel 
graphics adapters installed, is to run the following shell commands:

#!/bin/sh
# load i915 module
modprobe i915
# open an i915 device and keep it open in background
cat /dev/dri/card0 >/dev/null &
sleep 2
# simulate device unplug
echo 1 >/sys/class/drm/card0/device/remove
# make the background process close the device on exit
kill $!

Thanks,
Janusz


> Keeping the per
> device domain info while device is unplugged is a bit dangerous because
> info->dev might be a wild pointer. We need to work out a clean fix.
> 
> > 
> > Thanks,
> > Janusz
> > 
> 
> Best regards,
> Baolu
> 




_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

  reply	other threads:[~2019-09-03  7:41 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-22 14:29 [RFC PATCH] iommu/vt-d: Fix IOMMU field not populated on device hot re-plug Janusz Krzysztofik
2019-08-22 14:29 ` Janusz Krzysztofik
2019-08-22 15:34 ` ✓ Fi.CI.BAT: success for " Patchwork
2019-08-23  1:51 ` [RFC PATCH] " Lu Baolu
2019-08-23  1:51   ` Lu Baolu
2019-08-26  8:15   ` Janusz Krzysztofik
2019-08-26  8:15     ` Janusz Krzysztofik
2019-08-26  8:29     ` Lu Baolu
2019-08-26  8:29       ` Lu Baolu
2019-08-27  9:35       ` Janusz Krzysztofik
2019-08-27  9:35         ` Janusz Krzysztofik
2019-08-27  9:35         ` Janusz Krzysztofik
2019-08-28  0:56         ` Lu Baolu
2019-08-28  0:56           ` Lu Baolu
2019-08-28 14:17           ` Janusz Krzysztofik
2019-08-28 14:17             ` Janusz Krzysztofik
2019-08-29  1:43             ` Lu Baolu
2019-08-29  1:43               ` Lu Baolu
2019-08-29  1:43               ` Lu Baolu
2019-08-29  7:58               ` Janusz Krzysztofik
2019-08-29  7:58                 ` Janusz Krzysztofik
2019-08-29  7:58                 ` Janusz Krzysztofik
2019-08-29  9:08                 ` Lu Baolu
2019-08-29  9:08                   ` Lu Baolu
2019-09-02  8:37                   ` Janusz Krzysztofik
2019-09-02  8:37                     ` Janusz Krzysztofik
2019-09-03  1:29                     ` Lu Baolu
2019-09-03  1:29                       ` Lu Baolu
2019-09-03  7:41                       ` Janusz Krzysztofik [this message]
2019-09-03  7:41                         ` Janusz Krzysztofik
2019-10-01 15:01                         ` Janusz Krzysztofik
2019-10-01 15:01                           ` Janusz Krzysztofik
2019-10-08  2:27                           ` Lu Baolu
2019-10-08  2:27                             ` Lu Baolu
2019-10-08  2:27                             ` Lu Baolu
2019-10-11  6:54                         ` Lu Baolu
2019-10-11  6:54                           ` Lu Baolu
2019-10-11  6:54                           ` Lu Baolu
2019-10-11 10:27                           ` Janusz Krzysztofik
2019-10-11 10:27                             ` Janusz Krzysztofik
2019-10-11 10:27                             ` Janusz Krzysztofik
2019-08-23  8:47 ` ✓ Fi.CI.IGT: success for " Patchwork

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=2674326.ZPvzKFr69O@jkrzyszt-desk.ger.corp.intel.com \
    --to=janusz.krzysztofik@linux.intel.com \
    --cc=baolu.lu@linux.intel.com \
    --cc=dwmw2@infradead.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=iommu@lists.linux-foundation.org \
    --cc=joro@8bytes.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michal.wajdeczko@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.